首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMockit's @Injectable for非自动配发场

JMockit's @Injectable for非自动配发场
EN

Stack Overflow用户
提问于 2015-02-08 12:23:46
回答 1查看 763关注 0票数 1

我有一个类,其中一些字段是@Autowired,而有些字段不是,在测试类中,我希望不仅为@Autowired字段自动注入值。但是,自动注入只发生在@Autowired字段中。

下面是一个示例:

代码语言:javascript
复制
public class SimpleObject {
    Long id;
    @Autowired UsersDAO usersDAO;
}


public class SimpleTest {

    @Tested SimpleObject testedSimpleObject;
    @Injectable @Mocked UsersDAO usersDAO;
    @Injectable Long id = new Long(200);

  @Test
  public void testId() {
      assertNotNull(testedSimpleObject);
      assertNotNull(testedSimpleObject.id);
  }
}

第二行的测试将失败。id字段不是自动注入的。但是,如果我从@Autowired中删除UsersDAO注释,测试就会通过。

为什么会这样呢?我怎样才能克服这个问题呢?我知道我可以向id字段添加一些其他注释,但如果可能的话,我希望在不更改原始源代码的情况下解决它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 13:48:44

这是由于JMockit 1.14中的一个bug,但它已经修复了下一个版本1.15 (定于2015年2月晚些时候发布)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28393883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档