Closed qijy closed 2 years ago
如题,版本0.6.10 被测试类:java下com.xxx.service.as.impl.CreateUserAImpl 测试类:test下com.xxx.service.as.impl.CreateATest mock容器类:test下com.xxx.service.as.mock.CreateUserAImplMock
在CreateATest中增加了@MockWith(CreateUserAImplMock.class) 执行过程中,CreateUserAImplMock的mock方法未生效
但若是把CreateUserAImplMock移动到com.xxx.service.as.impl包下,则CreateUserAImplMock的mock方法未生效,请问如何处理? 按照文档的说明,@MockWith是可以在任意包路径下,但我现在的做法无法使用任意包路径;
这种情况属于文档中提到的“测试类与Mock容器类均不在约定位置”的场景,测试类的类名未匹配,Mock类的包名未匹配,这时候需要同时在测试类和业务类上用@MockWith注解。但通常不建议这么做,因为会为了测试给业务类加注解,如果测试类已经不在约定位置上,建议让Mock类使用默认的约定路径和文件名。
@MockWith
感谢了解了,原来需要给业务代码也要加入@MockWith注解
如题,版本0.6.10 被测试类:java下com.xxx.service.as.impl.CreateUserAImpl 测试类:test下com.xxx.service.as.impl.CreateATest mock容器类:test下com.xxx.service.as.mock.CreateUserAImplMock
在CreateATest中增加了@MockWith(CreateUserAImplMock.class) 执行过程中,CreateUserAImplMock的mock方法未生效
但若是把CreateUserAImplMock移动到com.xxx.service.as.impl包下,则CreateUserAImplMock的mock方法未生效,请问如何处理? 按照文档的说明,@MockWith是可以在任意包路径下,但我现在的做法无法使用任意包路径;