单元测试与类设计的最佳实践
1. 单元测试的规则
1.1 每个测试一个断言
有一种观点认为,JUnit 测试中的每个测试函数应该只有一个断言语句。这个规则虽然看似严格,但有其优势,能让测试快速得出单一且易懂的结论。例如:
public void testGetPageHierarchyAsXml() throws Exception {
givenPages("PageOne", "PageOne.ChildOne", "PageTwo");
whenRequestIsIssued("root", "type:pages");
thenResponseShouldBeXML();
}
public void testGetPageHierarchyHasRightTags() throws Exception {
givenPages("PageOne", "PageOne.ChildOne", "PageTwo");
whenRequestIsIssued("root", "type:pages");
thenResponseShouldContain(
"<name>PageOne</name>", "<name>PageTwo</name>", "<name>ChildOne</name>"
);
}
不过,将输出是 XML 且包含特定子字符串的断言合并可能不太合理,此时可将测试拆分为两个独立测试。但拆分后会产生大量重复代码,可使用模
超级会员免费看
订阅专栏 解锁全文
3864

被折叠的 条评论
为什么被折叠?



