【问题标题】:Roboguice Not Working in JUnit TestingRoboguice 在 JUnit 测试中不起作用
【发布时间】:2012-09-28 16:09:34
【问题描述】:

我正在尝试使用使用 roboguice 的类编写一些测试。不幸的是,guice 似乎根本没有注入任何东西。

我的设置是这样的......

  • 我正在使用 Intellij
  • 我有 2 个 intellij 模块(1 个用于代码,1 个用于测试)
  • 我有 2 个单独的模块类,它们扩展了定义绑定的 AbstractModule(roboguice 类)
  • 我有 2 个 roboguice.xml 文件指向这样的包...
    <?xml version="1.0" encoding="utf-8"?>
         <resources>
             <string-array name="roboguice_modules">
                <item>com.evertaletest</item>
             </string-array>
         </resources>

这个设置看起来正确吗?任何注入的类目前都是空的

【问题讨论】:

    标签: android unit-testing junit guice roboguice


    【解决方案1】:

    我相信&lt;item&gt; 条目需要给出您的模块类的名称,而不仅仅是包。

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <string-array name="roboguice_modules">
        <item>com.evertaletest.YourModuleForCode</item>
      </string-array>
    </resources>
    

    但这仅与您的生产代码相关。对于测试,您必须在代码中设置模块,而不是使用 XML。

    在您的测试设置中:

    RoboGuice.setBaseApplicationInjector(application, 
        RoboGuice.DEFAULT_STAGE, new YourModuleForTest());
    

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2012-05-29
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      相关资源
      最近更新 更多