Sax解析代码的Junit测试用例示例

问题描述 投票:0回答:2

我已经用Java编写了Sax解析器代码。我有两个类,一个处理程序类实际上进行解析并扩展了Sax解析器的Default处理程序类。另一个类是解析器类,它设置sax解析器的属性和功能,设置处理程序,设置异常类以及对parse方法进行分类。我想为此方法编写Junit测试类。有人可以帮助我获得有关如何为此编写Junit测试用例的资源吗?

我可以共享我的代码,但是我想我已经解释了它,所以如果您可以在Junit测试用例的示例中为我提供帮助吗?

java junit mockito sax
2个回答
0
投票

使用assertXXX方法来验证输出对象中的值,对于异常情况,请使用@Expected。

对于您在此处提到的示例链接,我们可以检查assertEquals中arraylist的大小以及list的assertTrue是否为空。除此之外,我们可以检查assertEquals中arrayList.Element中元素的内容。 !!


0
投票

请考虑对您的图书馆合同进行测试。基本上,SAX解析应该允许解析各种样式的XML(由配置管理)。因此测试模板可以是:


public class ParserTest {

    @Test
    public void testParse() {
        // given:
        SaxParser underTest = createParser(); // create with configurations

        // when:
        actualResult = underTest.parseXml(<XML_FILE_GOES_HERE>);

        // then:
        assertThat(actualResult, matchesContent());
     } 
}

您可以准备一系列这样的测试,以涵盖sax解析器应处理的各种情况(分层标记,属性等)。

您可以将2个类(解析器和配置)视为一个组件,并编写一个涵盖这两个类的单元测试。因此,在这种情况下(您已在问题的标签中指定了),无需使用模拟。

此外,您可以将配置视为单独的组件,并检查其是否生成正确的配置,再次测试行为契约。

关于XML的断言。您可能会发现有用的xml unit library

© www.soinside.com 2019 - 2024. All rights reserved.