1

我正在尝试使用使用 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>

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

4

1 回答 1

1

我相信<item>条目需要给出你的模块类的名称,而不仅仅是包。

<?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());
于 2012-11-15T06:37:28.090 回答