在Kotlin的集成测试中模拟第二层服务

时间:2019-11-21 10:29:42

标签: spring-boot spring-mvc kotlin mocking integration-testing

我正在通过MockMvc对端点执行HTTP请求,从而对Kotlin进行了一些集成测试。

但是我的控制器调用了ServiceA,后者又调用了ServiceB,后者又调用了外部API。我想模拟ServiceB,但无法成功,ServiceB仍调用外部API。

在IntTest类中

var serviceB: serviceB = mockk {
     every { serviceBMethod("401288") } returns ObjB("ZXCVBN", "YY", "CC", "PP")
     every { serviceBMethod("498749") } returns ObjB("QWERTY", "XX", "DD", "KK")
}

@Autowired
@InjectMocks
lateinit var serviceA: ServiceA

服务A

@Service
class ServiceAImpl: ServiceA {

     @Autowired
     lateinit var serviceB: ServiceB

}

0 个答案:

没有答案