【发布时间】:2019-02-22 16:32:28
【问题描述】:
我有一个非常基本的问题,如果之前有人问过,我深表歉意。我担心我可能用错了词,这是我第一次参加 Spring 的牛仔竞技表演。
我有一个 RestController 声明如下:
@RestController
class TelemetryController {
@Autowired
lateinit var service: TelemetryService
//...
}
在我们的main 模块中具体实现TelemetryService:
@Service
class ConcreteTelemetryService : TelemetryService {
// some production code
}
然后,我想在测试期间在我的控制器中使用一项服务(在我们的 test 模块中:
@Service
class TestingTelemetryService : TelemetryService {
// some test code using local data
}
重要的是,我不想为此使用 Mockito,因为测试的实施需要非常具体的设置,不适合 Mockito。
我的测试是这样声明的:
@RunWith(SpringRunner::class)
@SpringBootTest
@AutoConfigureMockMvc
class HowDoInjectServiceExampleTest {
@Autowired
lateinit var mockMvc: MockMvc
}
在这种情况下,如何在我的控制器中获取我的TestingTelemetryService?
【问题讨论】:
标签: spring unit-testing testing kotlin