Spring3.0的单元测试

昨天搭建了SSH框架,在写单元测试的时候,发现AbstractTransactionalDataSourceSpringContextTests等这些类已经过期了,就想到一定会有新的测试工具类,翻了半天的文档,找到了解决方案,下面是使用的例子:
Java代码 复制代码  收藏代码
  1. @RunWith(SpringJUnit4ClassRunner.class//指定测试用例的运行器 这里是指定了Junit4   
  2. @ContextConfiguration({"/applicationContext-hibernate.xml","/applicationContext-beans.xml"}) //指定Spring的配置文件 /为classpath下   
  3. //@Transactional //对所有的测试方法都使用事务,并在测试完成后回滚事务   
  4. public class UserServiceImplTest {   
  5. //  @Autowired   
  6. //  private ApplicationContext appplicationContext; //自动注入applicationContext,这样就可以使用appli*.getBean("beanName")   
  7.     @Resource       //会自动注入 default by type   
  8.     private UserDao userDao;   
  9.     @Resource  
  10.     private UserService userService;   
  11.        
  12.     @Before //在每个测试用例方法之前都会执行   
  13.     public void init(){   
  14.     }   
  15.        
  16.     @After //在每个测试用例执行完之后执行   
  17.     public void destory(){   
  18.     }   
  19.        
  20.     @Test  
  21.     @Transactional  //使用该注释会使用事务,而且在测试完成之后会回滚事务,也就是说在该方法中做出的一切操作都不会对数据库中的数据产生任何影响   
  22. //  @Rollback(false) //这里设置为false,就让事务不回滚   
  23.     public void testAdd(){   
  24.         Assert.assertNotNull(userDao);   
  25.         Assert.assertNotNull(userService);   
  26.         userDao.add(new User("userDao1","world!"));   
  27.         userService.registerUser(new User("UserService1","world!"));   
  28.     }   
  29.        
  30.     public void testTest() {   
  31.            
  32.     }   
  33. }  
@RunWith(SpringJUnit4ClassRunner.class) //指定测试用例的运行器 这里是指定了Junit4
@ContextConfiguration({"/applicationContext-hibernate.xml","/applicationContext-beans.xml"}) //指定Spring的配置文件 /为classpath下
//@Transactional //对所有的测试方法都使用事务,并在测试完成后回滚事务
public class UserServiceImplTest {
//	@Autowired
//	private ApplicationContext appplicationContext; //自动注入applicationContext,这样就可以使用appli*.getBean("beanName")
	@Resource 		//会自动注入 default by type
	private UserDao userDao;
	@Resource
	private UserService userService;
	
	@Before //在每个测试用例方法之前都会执行
	public void init(){
	}
	
	@After //在每个测试用例执行完之后执行
	public void destory(){
	}
	
	@Test
	@Transactional  //使用该注释会使用事务,而且在测试完成之后会回滚事务,也就是说在该方法中做出的一切操作都不会对数据库中的数据产生任何影响
//	@Rollback(false) //这里设置为false,就让事务不回滚
	public void testAdd(){
		Assert.assertNotNull(userDao);
		Assert.assertNotNull(userService);
		userDao.add(new User("userDao1","world!"));
		userService.registerUser(new User("UserService1","world!"));
	}
	
	public void testTest() {
		
	}
}


可以看到很简单的写个@Resource 即可。
--------
不要忘了把spring-test-3.0.0.RELEASE.jar包放到classpath中。
jar包我附上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot 3.0中进行单元测试非常简单。以下是进行单元测试的步骤: 1. 导入必要的依赖。在你的项目的pom.xml文件中,添加以下依赖: ```xml <!--测试类依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ``` 这个依赖将会提供所需的测试框架和工具。 2. 编写单元测试类和测试方法。你可以在测试类中使用`@RunWith(SpringRunner.class)`注解来指定测试运行器,并加载Spring Boot测试注解。使用`@SpringBootTest`注解标记测试类,并加载项目的上下文环境ApplicationContext。例如: ```java package com.xin.spring_01; import com.xin.spring_01.controller.FirstController; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest class Spring01ApplicationTests { @Autowired private FirstController firstController; @Test void contextLoads() { //编写测试方法 //可以使用@Autowired注解注入需要测试的类或组件 //执行测试逻辑 } } ``` 在这个例子中,我们注入了`FirstController`类,并在`contextLoads`方法中编写了测试逻辑。 通过以上步骤,你就可以使用SpringBoot 3.0进行单元测试了。记得在测试方法中编写适当的测试逻辑,以确保你的代码能够正确运行和通过测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot整合Junit](https://blog.csdn.net/JHIII/article/details/126303440)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot(3)单元测试与热部署](https://blog.csdn.net/qq_42743832/article/details/120026074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值