我有以下的集成測試:AssertJ-DB凍結在春季啓動集成測試
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class ServiceTestIT {
@Autowired
private ServiceUnderTest service;
@Autowired
private DataSource dataSource;
@Before
public void setup() {
Changes changes = new Changes(new Table(datasource, "SOME_TABLE"));
changes.setStartPointNow();
}
@Test
public void test() {
service.doSomething();
changes.setEndPointNow();
// assert database changes with changes object
}
}
當我運行這個測試它凍結在變化起始點行@Before方法:
changes.setStartPointNow();
我已經發現測試在org.assertj.db.type.Changes#setStartPointNow
上的t.getRowsList();
行凍結,但我不知道如何解決它。
當我刪除@Transactional
註釋,一切工作正常,沒有凍結,但測試不能正常工作。
有什麼辦法解決這個問題,保存@Transactional
註釋?
問題仍然存在,你能解釋一下你的方法中主要的改變是什麼? –