繁体   English   中英

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

[英]Junit Test case example for Sax Parsing code

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

我可以分享我的代码,但我想我已经解释过了,所以如果你能帮我举个关于 Junit 测试用例的例子吗?

考虑测试您图书馆的合同。 基本上 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 单元库

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

对于您在此处提到的示例链接,我们可以在 assertEquals 中检查 arraylist 的大小,对于列表不应为空的 assertTrue 也可以检查。除此之外,我们可以检查 assertEquals 中 arrayList 中元素的内容。希望就足够了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM