java - 如何注解injector.getInstance?

标签 java junit dependency-injection guice

我想在我的 unitTest 中从 Guice injector 注入(inject)一个实例。

我可以使用哪个微分器?

我知道构造函数参数中使用了@annotation机制

但是 junit 不允许带有参数的 ctor。

我应该使用类字段的@annotation吗?

 public void setUp() throws Exception {
    RoutingResponseRepository routingResponseRepository = injector.getInstance(RoutingResponseRepository.class);
}

例如

我要

@firstType RoutingResponseRepository

@secondType RoutingResponseRepository

最佳答案

对于测试,您可以直接注入(inject)您的测试用例实例。然后您可以像在生产代码中一样使用您的注入(inject)点:

@Inject
@SecondType 
private RoutingResponseRepository;

@Before
public void setUp() {
    Guice.createInjector().injectMembers(this);
}

不关心类型和键。

关于java - 如何注解injector.getInstance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670645/

相关文章:

java - Java 中的 I/O 优先级

java - Jackson 对象映射器 com.fasterxml.jackson.databind.exc.MismatchedInputException

java - Jmockit 中的 Lambda 期望

ios - Swinject 注册 UIViewController 最佳实践

java - 装饰器模式和@Inject

java - 运行 Map Reduce 程序时出错

java - 正则表达式获取包含特定单词的句子

c# - 哪个是测试 Ninject 绑定(bind)的好方法?

java - gson 嵌套自定义序列化器

spring-boot - SpringBoot中的单元测试Freemarker模板 - 无法初始化freemarker配置