一些测试需要运行数据库,例如,使用测试容器库。显然,启动它需要时间。
有没有办法在跨多个文件的整个 Spek 套件中只执行一次此操作?文档对此只字未提。
任何人都知道为什么这还没有实施?
一些测试需要运行数据库,例如,使用测试容器库。显然,启动它需要时间。
有没有办法在跨多个文件的整个 Spek 套件中只执行一次此操作?文档对此只字未提。
任何人都知道为什么这还没有实施?
这个答案不是特定于 Spek 的,但是 Testcontainers 对象公开了一个简单的start()
方法stop()
,这意味着如果你不想的话,你不必依赖测试框架来控制你的容器生命周期。您可以在与测试类分开的静态对象中创建一个容器,然后根据需要在所有测试中访问它。
请在此处查看示例(下面的Java示例片段):
static {
GenericContainer redis = new GenericContainer("redis:3-alpine")
.withExposedPorts(6379);
redis.start();
}
我想 Kotlin 中的等价物应该很容易作为object
(或类似的)。