有无数的单元测试示例,但您可以在这里提供,还是提供一个集成测试的好例子的链接,这不仅仅是一个隐喻?我更喜欢JUnit示例,但这不一定是必需的。
答案 0 :(得分:2)
提供集成测试的示例并非如此有用。集成测试是一种测试,它将多个组件一起测试,看它们是否按预期一起工作。
想象一下,你已经写了一个词法分析器和一个解析器,想知道这些工作是否合理。你可以这样做:
@Test
public void emptyContent() throws Exception {
assertParsable("");
}
@Test
public void complexExpression() throws Exception {
assertParsable("a + b - (a * b)");
}
@Test
public void missingClosingBrace() throws Exception {
assertUnparsable("(a * b");
}
private void assertParsable(String input) throws Exception {
assertFalse(parse(input).hasErrors());
}
private void assertParsable(String input) throws Exception {
assertTrue(parse(input).hasErrors());
}
private ParseResult parse(String input) {
return new Parser(new Lexer(input)).parse();
}
修改强>
我个人更喜欢区分快速和慢速测试。如果我单独测试某些组件或者一起测试一些组件并不重要(至少对我而言)重要的是,我的测试很快。如果我一起测试多个组件,当然测试速度不快。这取决于您尝试通过测试实现的目标(我使用它们在开发之前/期间编写测试以及作为回归套件...我不[必须]使用它们来表明我的实现与需求文档或其他东西匹配那样的。)