我想给大家介绍一款非常实用、且高端大气上档次的spring测试,在这里,我要强烈推荐使用Spring的Test Context框架,为什么呢?俗话说,“货比三家不上当”,要搞清楚这个问题,我们先来看一看传统的Spring测试:

最“高大上”的Spring测试:Spring Test

传统的Spring测试

我们开发一个Spring的HelloWorld。
第一步:准备开发Spring依赖的jar包

最“高大上”的Spring测试:Spring Test

第二步:定义一个简单的POJO类:HelloWorld,如下:

最“高大上”的Spring测试:Spring Test

第三步:阅读Spring中帮助文档(xsd-config.html),编写配置文件:applicationContext.xml:

最“高大上”的Spring测试:Spring Test

第四步:引入junit4.x的单元测试环境(),编写Spring的测试类:HelloTest,如下。

最“高大上”的Spring测试:Spring Test

运行测试类,输出结果:

最“高大上”的Spring测试:Spring Test

传统Spring测试带来的问题

  • 问题一、导致Spring 容器多次初始化,性能开销很大。
  • 问题二、不应该由测试代码管理Spring容器,应该是由Spring容器来管理测试代码。
  • 问题三、无法独立于服务器完成事务测试等。

传统的Spring测试(如下图):

最“高大上”的Spring测试:Spring Test 

正确的Spring测试(如下图):

最“高大上”的Spring测试:Spring Test 

Spring Test的优势

  • 使用Spring Test 有助于减少启动容器的开销,提高测试效率。
  • Spring Test可以直接使用@AutoWired注入Spring容器或bean。
  • Spring Test还支持事务测试,集成测试等。

 

搭建Spring的Test环境

步骤一、依赖jar:

Spring4.x需要依赖的单元测试得是最新的junit4.12,Eclipse自带的junit4.8不支持,同时从Spring4.x开始,还得依赖AOP包的支持。

最“高大上”的Spring测试:Spring Test

重新准备测试的配置文件:

最“高大上”的Spring测试:Spring Test

步骤二、Spring测试使用到的三个注解:

①:@RunWith:表示先启动Spring容器,把junit运行在Spring容器中;

②:@ContextConfiguration("classpath:applicationContext.xml"):

表示从CLASSPATH路径去加载资源文件;

③:@Autowired:表示自动装配,自动从Spring容器中取出对应bean或者获取容器对象;

最“高大上”的Spring测试:Spring Test

 

若,省略@ContextConfiguration的属性内容,如下:

最“高大上”的Spring测试:Spring Test

则默认去找:当前测试类名-context.xml配置文件,如:HelloWorldTest-context.xml。

最“高大上”的Spring测试:Spring Test     最“高大上”的Spring测试:Spring Test

相关文章:

  • 2021-06-24
  • 2021-12-06
  • 2022-03-05
  • 2021-08-18
  • 2022-12-23
  • 2021-10-13
猜你喜欢
  • 2021-08-24
  • 2021-12-09
  • 2021-08-10
  • 2021-10-01
  • 2021-12-23
  • 2021-07-02
  • 2021-07-10
相关资源
相似解决方案