[英]JUnit Test not rollbacking with SpringJUnit4ClassRunner
為了正確看待事情,一切正常,直到我必須格式化工作站。 在設法使項目運行之后,我運行了JUnit測試,並且我的大多數測試都失敗了。 問題是因為數據庫沒有回滾。 也許我錯過了一些配置,也許是在mysql本身上。
因此,這些是我的配置/源文件:
JUnit類聲明:
@ContextConfiguration(locations = { "classpath*:testApplicationContext.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
@Transactional
public class ClientServiceTest {
用於測試范圍的applicationContext:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
<property name="defaultAutoCommit" value="false" />
</bean>
檢查用於應用程序表的引擎。 MyISAM不支持交易。 您應該使用InnoDB。
要檢查引擎,請使用查詢:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'your_database_name'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.