我有两节课
@Service
public class A {
}
@Service
public class B {
@Autowired
private A a;
}
我想写一个集成测试,将测试我的b类。我不想加载整个spring-boot应用程序,所以@springboottest注解对我不起作用。我尝试使用@webmvctest注解,但它也在加载其他类。
有没有办法只加载某些类或包?
我有两节课
@Service
public class A {
}
@Service
public class B {
@Autowired
private A a;
}
我想写一个集成测试,将测试我的b类。我不想加载整个spring-boot应用程序,所以@springboottest注解对我不起作用。我尝试使用@webmvctest注解,但它也在加载其他类。
有没有办法只加载某些类或包?
3条答案
按热度按时间vmjh9lq91#
我只知道如何使用testng来完成这个任务,您的测试类应该扩展
AbstractTestNGSpringContextTests
. 现在您还可以添加Bean
和配置,以便您可以模拟@Autowired
对象,如果需要,它应该类似于下面的一个。例子:
gijlo24d2#
不在给定测试类型(例如单元测试)范围内的模拟依赖项:
在上面的测试中,我用
@Mock
它是b服务的一个依赖项。然后注入模拟B
通过@InjectMocks
. 然后,您可以从B
在嘲笑别人的时候A
.bxpogfeg3#
我找到了部分答案。
如果您的依赖关系很少,可以使用这种方法,但我没有找到启用包初始化的解决方案。