- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
我一直在查看 RoboGuice 2 的 astroboy 示例代码和文档,我真的很难过。我希望你们都可以帮助我尝试一些事情。这里的目标是测试模块以确保它正在加载并且 IoC 正在工作/连接。
我有一个类似于他们的例子的测试:
http://code.google.com/p/roboguice/source/browse/astroboy/src/test/java/org/roboguice/astroboy/controller/Astroboy2Test.java?name=roboguice-2.0b3&r=ba37ef680410c64f7f1fe90f5b7b482958d276b5
我的有两种不同...我的模块在一个库类中,语法相同:
public class MyTestModule extends AbstractModule {
@Override
protected void configure() {
bind(Vibrator.class).toInstance(vibratorMock);
}
}
<resources>
<string-array name=roboguice_modules>
<item>com.yourdomain.MyTestModule</item>
</string-array>
<resources>
@RunWith(RobolectricTestRunner.class)
public class MyTest {
@Before
public void setup() {
// Override the default RoboGuice module
RoboGuice.setBaseApplicationInjector(Robolectric.application, RoboGuice.DEFAULT_STAGE, Modules.override(RoboGuice.newDefaultRoboModule(Robolectric.application)).with(new MyTestModule()));
}
java.lang.NoClassDefFoundError: javax/inject/Provider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at javassist.Loader.findClass(Loader.java:379)
at com.xtremelabs.robolectric.bytecode.RobolectricClassLoader.findClass(RobolectricClassLoader.java:72)
at javassist.Loader.loadClass(Loader.java:311)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.xtremelabs.robolectric.bytecode.RobolectricClassLoader.loadClass(RobolectricClassLoader.java:49)
at roboguice.RoboGuice.newDefaultRoboModule(RoboGuice.java:144)
at test.yourdomain.MyTest.setup(MyTest.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at com.xtremelabs.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:284)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: javax.inject.Provider
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at javassist.Loader.delegateToParent(Loader.java:428)
at javassist.Loader.loadClassByDelegation(Loader.java:406)
at javassist.Loader.loadClass(Loader.java:308)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.xtremelabs.robolectric.bytecode.RobolectricClassLoader.loadClass(RobolectricClassLoader.java:49)
... 36 more
最佳答案
我需要将 guice 3.0 zip 中的 javax.inject.jar 包含在我的 roboguice 2.0 设置中。
https://github.com/google/guice/wiki/Guice30
关于dependency-injection - 尝试对 RoboGuice.newDefaultRoboModule() 进行单元测试和使用 Roboguice 2.0b3 和 Robolectric 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761020/
我创建了一个依赖于 ContentResolver 的类: public class MyClass { // these Injects won't work @Inject
这是我的 build.gradle 文件: buildscript { repositories { jcenter() } dependencies {
我正在尝试使用 android-quickstart 原型(prototype)创建一个 Android 基础项目,并添加 RoboGuice、ActionBarSherlock 依赖项以及 Robo
当我启动我的 RoboGuice android 应用程序时,以下消息出现在日志中: roboguice.RoboGuice﹕ Using full reflection. Try using Rob
这并不总是可见,但在特定的 API 14 和 19 上可见。 下面是堆栈跟踪 java.lang.NoClassDefFoundError: roboguice.inject.ContextScope
刚接触 roboguice,我喜欢它! 我有很多方法依赖于 DB 和 LocationManger 等,因此当我测试它们时,它使用真实的对象,我想模拟这些对象,这样当我测试时我就不必依赖在任何事情上。
我一直在查看 RoboGuice 2 的 astroboy 示例代码和文档,我真的很难过。我希望你们都可以帮助我尝试一些事情。这里的目标是测试模块以确保它正在加载并且 IoC 正在工作/连接。 我有一
这很奇怪。我在最近的所有具有相同库的项目中都使用了 Roboguice 2.0,一切似乎都很好。我开始了全新的项目,但在我的应用程序启动时,(...) 出现了一些令人毛骨悚然的错误。我到处搜索,从 S
我使用 Roboguice 1.1.2 和 guice-no-aop 2.0。我尝试使用辅助注入(inject),这需要 @Assisted 注释。我的问题是 guice-2.0-no_aop.jar
最近我下载了 Roboguice 并尝试了一下。总的来说我喜欢它,我认为它可以简化 Android 开发过程中的某些方面,但我遇到了一个尚未找到解决方案的情况:我想注入(inject)一个类,但该类有
我刚刚开始使用适用于 Android 的 Roboguice。尝试实现 this简单的上下文注入(inject)但出现此异常。我用谷歌搜索并遇到了很多帖子,但没有解决我的问题。这是下面的异常(exce
如何在自定义模块中获取应用程序上下文?这是我的模块的代码: public class MyModule extends AbstractModule { @Override @Supp
我正在使用 RoboGuice Providers 来注入(inject)自定义依赖项。我有两个提供商,第一个提供 Facebook AccessToken,第二个提供一个需要访问 token 的 F
我使用 Gradle 添加依赖项 org.roboguice:roboguice:3.0b-experimental到我的项目。 我找到了一个 post on the issue tracker ,说
我刚开始使用 Roboguice (+Guice),我不确定如何使用它的最佳实践。 在我的 Activity 中,我有大约 5 个函数(大约 30 个函数)使用一个名为“ProviderQueries
我正在尝试将 RoboGuice 作为依赖项安装到我的 Android Studio 项目中。一旦我尝试运行该项目(甚至在我添加任何新代码之前),我就会崩溃并显示以下输出: 信息:Gradle 任务
我在应用程序中打开了 proguard 我在应用程序 onCreate 中有一个警告 RoboGuice.injectMembers(_appContext, this); 异常: nalizable
我正在尝试在我的 Android 应用程序中使用 @InjectViews 但这似乎不起作用。这是它的代码。我已将库和 jar 包含到我的 android 应用程序中,并直接从 RoboActivit
我正在探索 RoboGuice 的世界,并且更改了一个 map Activity ,现在可以使用它了。它是一个 RoboMapActivity,我已经将应用程序的扩展名更改为从 RoboActivit
我第一次在项目中使用 RoboGuice,我试图注入(inject)一个静态变量,但该变量仍为空。这是我正在测试的东西的快速模型: public class MyActivity extends Ro
我是一名优秀的程序员,十分优秀!