我有集成測試(該碼頭下運行),我打開頁面(通過使用Selenium)不可見的,您對本活動的該記錄被添加到數據庫(HSQL)。但它不起作用 - JPA(Hiberante)添加了記錄(我在日誌中看到它),但是當我執行SELECT查詢時根本沒有記錄。功能測試:在數據庫更改測試
測試用例:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:spring/DispatcherServletContext.xml"
})
@TransactionConfiguration(defaultRollback = false)
public class WhenUserOpenNotExistingPage
extends WhenUserAtAnyPage<NotFoundErrorPage> {
private final String currentUrl;
@Autowired
private SuspiciousActivityDao suspiciousActivities;
private String generateRandomUrl() {
return String.format(
"/tests/page-does-not-exists-%s.htm",
RandomStringUtils.randomNumeric(5)
);
}
public WhenUserOpenNotExistingPage() {
currentUrl = generateRandomUrl();
page.open(currentUrl);
}
@Test
@Transactional(readOnly = true)
public void incidentShouldBeLoggedToDatabase() {
SuspiciousActivity activity =
suspiciousActivities.findByPage(currentUrl);
assertNotNull(activity);
}
}
而且WhenUserOpenNotExistingPage()
(constructorr)調用兩次(我不知道爲什麼會發生,可能是我的問題的根源)。
你能幫我嗎? 在此先感謝!