特别是在我的验收测试套件中,我看到很多测试设计为按特定顺序(从上到下)运行,这在某些方面对测试特定流程很有意义,但我也听说这是不好的做法。谁能阐明这里的优点和缺点?
最佳答案
在大多数情况下,如果您依赖顺序,就会出现问题。最好解决这个问题,因为:
- 测试应该是独立的,以便能够单独运行它们(您应该只能运行 1 个测试)。
- 测试运行工具通常不能保证顺序。即使今天它是一个特定的序列,明天您可以向运行器添加一些配置并且顺序将会改变。
- 很难从测试报告中确定问题所在,因为您会看到很多失败,而只有 1 个测试失败。
- 同样 - 从测试报告工具跟踪测试步骤并不容易,因为这些步骤被分配给不同的测试。
- 如果需要,您将无法并行运行它们(希望您不要这样做)。
如果您想共享逻辑 - 创建可重用的类或方法(参见 this)。
PS:我将这些称为系统测试,而不是验收测试 - 您也可以在单元或组件级别编写验收测试。
关于testing - 依赖按顺序运行的自动化测试可以被认为是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349496/