gpt4 book ai didi

android - Roboguice 在 JUnit 测试中不工作

转载 作者:行者123 更新时间:2023-11-30 03:59:18 24 4
gpt4 key购买 nike

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

我的设置是这样的...

  • 我正在使用 Intellij
  • 我有 2 个 intellij 模块(1 个用于代码,1 个用于测试)
  • 我有 2 个单独的模块类,它们扩展了定义绑定(bind)的 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>

这个设置看起来正确吗?任何被注入(inject)的类此时都是空的

最佳答案

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

<?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());

关于android - Roboguice 在 JUnit 测试中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com