[英]How to test dependency injection with annotations?
在 Spring 框架或 Java EE 中有基於注解的依賴注入。
通常你會做
class X
{
Y var;
public X(Y var)
{
this.var = var
}
}
這很容易測試和模擬。 您只需根據您的測試需要實例化 class Y 即可。
但是這個怎么樣。
class X
{
@Inject or @Autowired
Y var;
public X( )
{
}
}
基於注釋的依賴注入怎么樣。 您遇到與硬編碼實例化相同的問題。 我無法像在第一個代碼示例中那樣注入模擬的 object。 我該如何測試它?
我無法像在第一個代碼示例中那樣注入模擬的 object
這是為什么?
@Component
class X {
Y var;
@Autowired
public X(Y var)
{
this.var = var
}
@Component
class Y {
}
接着
@RunWith(SpringRunner.class)
public class ApiControllerTest {
@Autowired
private X x;
@Configuration
static class Config {
@MockBean
private Y y;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.