我有很多测试用例写在一个文件中。它们实际上是某种指令,可以从 JAVA 内部读取和运行。
问题是这种方法不好。由于大量测试用例,文件变得很大且难以管理。我应该如何管理它们?我正在考虑将它们拆分为不同的文件,并为元数据创建一个 XML 数据库。还有更好的方法吗?
PS:它们不是简单的英语测试用例,它们是可以在 JAVA 中运行的指令。
更新:但它们不是单元测试,更像是功能测试,它们不是测试类。程序从文件中读取不同的测试用例并运行它们。
看看 Cucumber 使用的方法。在这里,您可以找到人类可读的“功能”描述,每个描述都包含该功能的许多不同场景,以便对其进行全面测试。没有一个特性文件是单个测试,没有一个是测试类本身,程序读取所有特性文件并运行它们。
这里的整体模式也可能对你有启发。
请注意,最近已经完成了大量工作,使得用 Java 和 Ruby 的原始本地语言编写这些 cuke 测试变得容易。
Cucumber 的 Java 端口使用 JUnit 4 自定义测试运行器,如下所示:
@RunWith(Cucumber.class)
@Feature("create_user_account.feature")
public class CreateUserAccountTest {
}
您可以将此类作为 JUnit 测试运行,并且控制台输出看起来与您在 Cucumber 网站上看到的非常相似。所以你基本上每个特性都有一个“测试类”。然后,您可以通过将它们分组到测试套件或使用 Eclipse 的测试运行批处理来一次运行整个包的特性、单个特性或整个项目的特性。