关于Config中Spring Test多种方法介绍

这篇文章主要介绍了Java Config下的Spring Test方式实例代码的相关资料,需要的朋友可以参考下

Java Config 下的Spring Test方式

用了三种方式:

1.纯手动取bean:

package com.wang.test;import com.marsmother.commission.core.config.MapperConfig;import com.marsmother.commission.core.config.PropertyConfig;import com.marsmother.commission.core.config.ServiceConfig;import com.marsmother.commission.core.dto.GeneralResponseData;import com.marsmother.commission.core.service.UserService;import com.marsmother.commission.site.config.SecurityConfig;import org.junit.Before;import org.junit.Test;import org.springframework.context.annotation.AnnotationConfigApplicationContext;/** * Created by Wanglei on 15/10/29. */public class CustomeTest {  private static AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();  @Before  public void tearUp(){    context.register(PropertyConfig.class);    context.register(ServiceConfig.class);    context.register(SecurityConfig.class);    context.register(MapperConfig.class);    context.refresh();  }  @Test  public void testUser(){    UserService userService = context.getBean(UserService.class);    Long userId = 3L;    GeneralResponseData data = userService.addUserRelation(userId);    System.out.println(data.getMsg());  }}

2.采用spring-test

package com.wang.test;import com.marsmother.commission.core.config.MapperConfig;import com.marsmother.commission.core.config.PropertyConfig;import com.marsmother.commission.core.config.ServiceConfig;import com.marsmother.commission.core.dto.GeneralResponseData;import com.marsmother.commission.core.service.UserService;import com.marsmother.commission.site.config.SecurityConfig;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;/** * Created by Wanglei on 15/10/29. */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = {PropertyConfig.class, ServiceConfig.class, SecurityConfig.class, MapperConfig.class})public class SpringTest {  @Autowired  private UserService userService;  @Test  public void testUser(){    GeneralResponseData data= userService.addUserRelation(3L);    System.out.println(data.getMsg());  }}

3.采用Mockito

需要引入相应包:

<dependency>  <groupId>org.mockito</groupId>  <artifactId>mockito-all</artifactId>  <version>1.9.5</version>  <scope>test</scope></dependency>
package com.wang.test;import com.marsmother.commission.core.dto.GeneralResponseData;import com.marsmother.commission.core.presistence.FollowNumberMapper;import com.marsmother.commission.core.presistence.UserMapper;import com.marsmother.commission.core.presistence.UserRelationMapper;import com.marsmother.commission.core.service.UserService;import org.junit.Before;import org.junit.Test;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.MockitoAnnotations;/** * Created by Wanglei on 15/10/29. */public class TestUserService {  @InjectMocks  private UserService userService;  @Mock  private FollowNumberMapper followNumberMapper;  @Mock  private UserMapper userMapper;  @Mock  private UserRelationMapper userRelationMapper;  @Before  public void init(){    MockitoAnnotations.initMocks(this);  }  @Test  public void testUser(){    Long userId = 3L;    GeneralResponseData result = userService.addUserRelation(userId);    System.out.println(result.getMsg());  }}

这里@Mock的话,并不会真正的去执行数据库的操作。

还有一种用法是@Spy,暂时不了解具体使用方式,待研究。

相比之下,还是spring-test标准一些。

朋友,为了幸福,请你保持一副热爱生活的心肠,

关于Config中Spring Test多种方法介绍

相关文章:

你感兴趣的文章:

标签云: