(1)整合 JUnit4
第一步 引入 Spring 相关针对测试依赖
第二步 创建测试类,使用注解方式完成
package com.spring5.test;
import com.spring5.service.AccountService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class) // 指定单元测试的版本
@ContextConfiguration("classpath:bean1.xml") // 加载配置文件
public class JTest4 {
@Autowired
private AccountService accountService;
@Test
public void test1() {
accountService.transferAccount();
}
}
第三步 运行结果
记得把
AccountService
类的@Transactional
注释掉
(2)整合 JUnit5
第一步 引入 JUnit5 的 jar 包
第二步 创建测试类,使用注解方式完成
package com.spring5.test;
import com.spring5.service.AccountService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:bean1.xml") // 加载配置文件
public class JTest5 {
@Autowired
private AccountService accountService;
@Test
public void test1() {
accountService.transferAccount();
}
}
第三步 运行结果
(3)使用一个复合注解替代上面两个注解完成整合
package com.spring5.test;
import com.spring5.service.AccountService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
//@ExtendWith(SpringExtension.class)
//@ContextConfiguration("classpath:bean1.xml") // 加载配置文件
@SpringJUnitConfig(locations = "classpath:bean1.xml")
public class JTest5 {
@Autowired
private AccountService accountService;
@Test
public void test1() {
accountService.transferAccount();
}
}