某些测试需要运行数据库,例如,使用“测试容器库”运行数据库。显然,启动它需要时间。
是否有一种方法可以在整个Spek套件(跨越多个文件)中仅执行一次?文档对此无话可说。
任何人都知道为什么尚未实施吗?
答案 0 :(得分:0)
这个答案不是Spek特有的,但是Testcontainers对象公开了一个简单的start()
和stop()
方法,这意味着如果您要使用容器,则不必依靠测试框架来控制容器的生命周期。不想。您可以在与测试类不同的静态对象中创建一个容器,然后根据需要在所有测试中访问它。
请参见示例here(下面的 Java 示例代码段):
static {
GenericContainer redis = new GenericContainer("redis:3-alpine")
.withExposedPorts(6379);
redis.start();
}
我认为Kotlin中的等效项应该很容易成为object
(或类似名称)。