如何解决在 Testcontainer Spring 启动测试中模拟服务
我是 Spring 的新手,我现在面临一个测试问题:
我有以下服务:
@Service
public class MyService {
public Integer getKey() {
List<Integer> keys = getKeys(1);
if (keys.size() == 1) {
return keys.get(0);
}
throw new IllegalArgumentException("Error!");
}
... and a getKeys() method,which provides a list based ona rest call...
}
我在另一个类中使用这个服务类:
@NoArgsConstructor
public class MyOtherClass extends MyClass {
@Autowired
private MyService myService;
....
@Override public KeyValue<Object,Object> doSomething(Object key,Object value) {
if (conditionIsTrue(key,value)) {
MyObject obj = new MyObject();
myObject.setKey(keyService.getKey()); ----- here is always null the keyService
.....
} else {
return KeyValue.pair(null,null);
}
}
我尝试编写一个测试,但 MyService 始终为空..
@ActiveProfiles("my-test")
@SpringBootTest(classes = Application.class)
@Testcontainers
@Slf4j
public class MyTest extends TestContext {
@BeforeEach
void init(final TestInfo testInfo) {
....
}
@AfterEach
void deinit() {
....
}
@Test
public void myTest() {
....
}
如何将模拟 MyService 注入测试容器?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。