簡體   English   中英

JUnit Test無法使用SpringJUnit4ClassRunner回滾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM