3

我有几个 Spock 测试类组合在一个包中。我正在使用 Junit 4.10。每个测试类都包含几个特征测试方法。

我想在运行任何测试用例之前执行一些设置步骤(例如将数据加载到数据库中,启动 Web 服务器),但仅在测试开始时执行一次。

我希望这个“OneTimeSetup”方法只被调用一次,是否:

  • 我运行包中的所有测试类(例如,如果它们被分组在一个测试套件中)
  • 我运行了一些测试课程
  • 我只运行一个测试类
  • 我只在测试类中运行某个功能方法

从阅读 SO 上的其他帖子来看,这似乎是 TestNG 的 @BeforeSuite 所做的。

我知道 Spock 的 setupSpec() 和 cleanupSpec() 方法,但它们只在给定的测试类中工作。我正在寻找类似“setupTestSuite()”的东西。如何在 Spock 中实现这一点?

4

1 回答 1

4

您可以编写一个全局扩展,使用一个 JUnit 测试套件,在一个助手类(比如 from )中调用一个静态方法,它只setupSpec完成一次工作,或者让构建工具完成这项工作。

于 2013-02-19T00:25:03.183 回答