我正在寻找使用Java或C#代码进行集成测试的一个很好的例子

时间:2011-05-25 14:44:04

标签: integration-testing

有无数的单元测试示例,但您可以在这里提供,还是提供一个集成测试的好例子的链接,这不仅仅是一个隐喻?我更喜欢JUnit示例,但这不一定是必需的。

1 个答案:

答案 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();
}

修改

我个人更喜欢区分快速和慢速测试。如果我单独测试某些组件或者一起测试一些组件并不重要(至少对我而言)重要的是,我的测试很快。如果我一起测试多个组件,当然测试速度不快。这取决于您尝试通过测试实现的目标(我使用它们在开发之前/期间编写测试以及作为回归套件...我不[必须]使用它们来表明我的实现与需求文档或其他东西匹配那样的。)