2
如何在Kotlin中管理单元测试资源,例如启动/停止数据库连接或嵌入式Elasticsearch服务器?
在我的Kotlin JUnit测试中,我想启动/停止嵌入式服务器并在测试中使用它们。 我尝试@Before在测试类中的方法上使用JUnit批注,它可以正常工作,但这不是正确的行为,因为它运行每个测试用例,而不是运行一次。 因此,我想@BeforeClass在方法上使用批注,但是将其添加到方法中会导致错误,提示它必须在静态方法上。Kotlin似乎没有静态方法。然后,这同样适用于静态变量,因为我需要保留对嵌入式服务器的引用,以便在测试用例中使用。 那么,如何为所有测试用例一次创建一个嵌入式数据库? class MyTest { @Before fun setup() { // works in that it opens the database connection, but is wrong // since this is per test case instead of being shared for all } @BeforeClass fun setupClass() { // what I want to do instead, but …