2

我需要在我的测试中设置一个数据库(模式和一些测试数据),这需要相当多的时间,因此我更喜欢为所有正在运行的测试完成一次,然后重置以便任何更改数据库在测试之间回滚。

我不确定应该为此使用哪些 JUnit 工具。似乎我可以在测试套件上设置 @BeforeClass/@AfterClass,但我不能再运行单个测试了。有没有办法为所有测试添加设置/拆卸,即使只执行测试的子集而不是特定的套件?(例如 NUnit 有 SetUpFixture)我猜数据库的事务/截断可以使用 JUnit 规则来完成......

4

1 回答 1

1

您可以使用内存数据库,例如HSQLH2来加速测试。

要回滚,您可以使用事务功能。

有没有办法为所有测试添加设置/拆卸,即使只执行测试的子集而不是特定的套件?

为此,您可以创建一个由其他测试类扩展的超类。在超级类中,您可以设置设置/拆卸。

于 2013-09-06T09:25:32.330 回答