如何在测试方法

时间:2017-03-05 12:18:40

标签: java spring junit dependency-injection autowired

我无法在测试方法中使用Spring的@Autowired注释。我正在使用JUnit进行测试。 @Autowiring适用于bean中的普通类,但它不适用于测试方法。当我在论坛中阅读时,我必须在pom.xml中实现spring-test。我仍然无法自动连接和注入我的服务bean的依赖项。你可以帮我在测试类中使用依赖注入,因为我在源类中使用了依赖注入。

此致 阿尔珀

1 个答案:

答案 0 :(得分:1)

如果您正在编写单元测试,建议您使用@Mock和@InjectMocks。

您可以注释您的test classe以使用MockitoJUnitRunner

运行
@RunWith(MockitoJUnitRunner.class)
public class TestClass{
  @Mock
  private MockedClass;
  @InjectMocks
  private TestedClass;
}

但如果你真的想要测试所有流程并需要注入类,你可以@RunWith(SpringJUnit4ClassRunner.class)和@Autowired你的类。

更新

尝试在Spring启动应用程序中添加此依赖项(不需要添加版本)以使用SpringJUnit4ClassRunner:

groupId: org.springframework.boot 
artifactId: spring-boot-starter-test 
scope: test 
version: 1.4.4