Spring集成/单元测试:在JUnit

时间:2017-03-08 11:36:15

标签: java spring unit-testing jpa junit

我正在SpringBoot + JPA中开发后端应用程序。我有一堆单元测试和集成测试,后者使用数据库。我想在所有测试之前进行设置并在之后进行拆解。

设置:我在@Before执行此操作,并使用布尔setUpIsDone确保完成一次。工作正常。

拆解 - 这里有一个问题:

  • 我无法使用@AfterClass,因为它是静态的。在JPA MyRepository中 class只是一个用@Autowired注释的接口。所以没有 我可以使用的存储库实例。
  • 我无法使用@After因为它会在每次测试后尝试清理测试数据。我不能像@Before一样使用任何布尔标志 - 我如何确定哪个测试是最后一个?
  • Spring回滚机制有一些缺陷,因为它不会物理地写入数据库,因此有时测试正在通过,但在禁用回滚时则不行。

现在我想到了一些解决方案,但没有一个是satysfiyng:

  1. 设置和清理以及每次测试(太耗时)
  2. 皮克 其他测试框架比JUnit(我读过只有JUnit的力量) 静态@BeforeClass@AfterClass
  3. 任何帮助?

0 个答案:

没有答案