使用spring配置和模拟对象进行测试

使用spring配置和模拟对象进行测试,spring,unit-testing,testing,mocking,Spring,Unit Testing,Testing,Mocking,我在测试中使用了spring配置,如下所示: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:config/spring/config.xml" }) 假设我正在测试一个依赖于其他服务和存储库的服务。使用@ContextConfiguration这些bean将被创建并自动连接到我正在测试的服务中 是否认为模拟这些依赖项和存储库更好?当创建和加载当前完成的测试配置时,依

我在测试中使用了spring配置,如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/spring/config.xml" }) 
假设我正在测试一个依赖于其他服务和存储库的服务。使用
@ContextConfiguration
这些bean将被创建并自动连接到我正在测试的服务中

是否认为模拟这些依赖项和存储库更好?当创建和加载当前完成的测试配置时,依赖项中的问题可能会导致测试失败,因此我不仅测试该服务,还测试其他依赖项


这些依赖关系是否应该在单元测试中模拟(因为您只需要测试该类的功能,而不需要测试其依赖关系),而是在集成测试期间实例化并连接?

是的,这就是您应该做的。在单元测试中不需要spring上下文。好吧,我不太喜欢模仿周围的一切:)如果你有粒度很好的对象(这些对象一起形成了一些操作),那么我在一起测试它们时不会发现任何错误。然后您可以在测试中使用Spring。将测试作为执行某些功能时预期发生的情况的规范来编写。不要编写将反映类和方法1:1的测试。这不是去的路。@RohitJain这是我想的,但我不确定。谢谢你的帮助:-)。