我过去曾使用内存数据库编写过测试。
我想知道的是是否可以在spring、junit、java中编写测试,在内存数据库中使用,并且每次测试后数据不会回滚,而是保存在数据库中。
基本上,测试是相互依赖的?
有任何想法吗?
回滚数据库更改与否取决于您。
但是单元测试应该相互独立。
DZone 最近一篇关于该主题的文章的小摘录:
使每个测试独立于所有其他测试
不要制作单元测试用例链。它会阻止您识别测试用例失败的根本原因,您将不得不调试代码。此外,它会产生依赖性,这意味着如果您必须更改一个测试用例,那么您需要对多个测试用例进行不必要的更改。
尝试使用 @Before 和 @After 方法为所有测试用例设置必要条件(如果有的话)。如果您需要多个东西来支持@Before 或@After 中的不同测试用例,那么请考虑创建新的Test 类。
你的测试应该是独立的。
但是,如果您愿意,我想您可以尝试使用 @Rollback 注释。
我没有尝试过,但在进行交易时在文档规范中看到过。