小编Jom*_*omy的帖子

Spring + TestNG没有事务性回滚

我正在使用TestNG 6.9.9构建回归测试环境.但遇到一个我在使用JUnit时从未遇到过的问题.在我看来,当完成每个测试用例时,如果测试方法在与他们调用的相同的事务上下文中运行,则每个数据的更改将默认自动回滚.但似乎这不是事实,我不知道我的代码中是否有任何错误.请帮帮我.pom.xml中的属性,表示框架的版本

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <springframework.version>4.2.4.RELEASE</springframework.version>
    <hibernate.version>4.3.11.Final</hibernate.version>
<testng.version>6.9.9</testng.version>
</properties>
Run Code Online (Sandbox Code Playgroud)

显然,它们都是最新的.

我的考试班:

package com.noahwm.hkapp.api;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.testng.Assert;
import org.testng.annotations.Test;

import com.noahwm.hkapp.api.db.dao.AppUserDao;
import com.noahwm.hkapp.api.db.model.AppUser;
import com.noahwm.hkapp.api.service.AppUserService;

@ContextConfiguration(locations = { "classpath:applicationContext-test.xml" })
public class AppUserServiceTestNGTest extends AbstractTestNGSpringContextTests {

  @Autowired
  private AppUserService appUserService;

  @Test
  @Rollback
  @Transactional
  public void testApp() {
    AppUser appUser = new AppUser();
    appUser.setAge(10);
    appUser.setGender("F");
    appUser.setMobilePhone("13219201034");
    appUser.setName("HKAPP Test");
    appUserService.createUser(appUser);
    String appUserId = appUser.getId();
    Assert.assertNotNull(appUserId);
  }
}
Run Code Online (Sandbox Code Playgroud)

创建实体实例,而不是调用createUser()将其保存到DB.根据我在JUnit中所做的,即使我没有将@Rollback注释放在测试方法的前面,数据也会自动回滚.

AppUser的结构是:

package com.noahwm.hkapp.api.db.model; …
Run Code Online (Sandbox Code Playgroud)

java testng spring transactions maven

4
推荐指数
1
解决办法
1445
查看次数

标签 统计

java ×1

maven ×1

spring ×1

testng ×1

transactions ×1