【发布时间】:2016-07-07 21:29:56
【问题描述】:
我的源文件夹中的实用程序类公开为 bean。我想在用 junit 4 编写的测试类中使用其中一些实用程序。例如,我有一个实用程序类,它具有将对象编组为 JSON 字符串的方法。我想在我的测试类中注入这个实用程序 bean。我无法使用 Autowired 注释注入这些 bean。我应该将所有这些类复制到测试文件夹吗?
编辑:
我正在尝试注入 jsonUtil。下面是我的代码的样子。
import static org.junit.Assert.*;
import java.math.BigDecimal;
@RunWith(MockitoJUnitRunner.class)
@SpringApplicationConfiguration(classes = ProxyApplicationMock.class)
public class ProxyApplicationMock {
@Mock
public SoapClient soapClientMock;
private JsonUtil jsonUtil;
主类
public class ProxyApplication {
public static void main(String[] args) {
SpringApplication.run(ProxyApplication.class, args);
}
}
【问题讨论】:
-
您应该展示带有 Spring 上下文配置的测试类代码示例,并告诉我们您使用的是哪个版本的 Spring。
-
嗨,马特,添加了代码,我正在使用 Spring Boot。
-
好的,看看我的回答,如果有帮助,请告诉我。显示您的 Spring 配置文件也会有所帮助:
ProxyApplicationMock -
我没有任何 spring 配置文件。我们正在使用 java 配置。
-
啊,好吧,对不起,我没有看到
@SpringApplicationConfiguration中提供的类是带注释的类。这是不正确的,你应该为你的测试提供一个配置类,你应该使用SpringJUnit4ClassRunner而不是MockitoJUnitRunner作为运行器。