为了把事情看清楚,一切都很好,直到我不得不格式化我的工作站。在我成功地让项目运行之后,我运行了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>发布于 2016-01-30 14:19:01
检查用于应用程序表的引擎。MyISAM不支持事务。您应该使用InnoDB。
若要检查引擎,请使用查询:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'your_database_name'https://stackoverflow.com/questions/35095320
复制相似问题