我被困在运行我的android项目上。为了达到这个目的,我已经做了一些长途旅行。Robolectric已经运行了我的几个测试,但是当我创建一些设置ActionBar的活动时,测试就会在NullPointerException中失败:
java.lang.NullPointerException
at android.support.v7.app.ActionBarImplICS.setNavigationMode(ActionBarImplICS.java:214)
at android.support.v7.app.ActionBarImplJB.setNavigationM
我正在将我的代码库升级到Gradle 2.2和Android Studio 1.0。我目前正在尝试让Robolectrial2.4正常工作,但我在尝试运行单元测试时遇到了一个奇怪的问题。该问题仅在gradle clean之后发生;多次运行测试套件将产生通过测试的测试(正如预期的那样)。当我在清理后运行测试时,我得到以下错误:
java.lang.ClassCastException: java.lang.NoClassDefFoundError cannot be cast to java.lang.RuntimeException
我已经将这个错误追溯到这个调用:
Activity acti
在运行JUnit测试时,它会引发以下错误:
java.lang.IllegalAccessError: tried to access field org.robolectric.annotation.Config$Builder.sdk from class org.robolectric.RobolectricTestRunner$1
看来RobolectricTestRunner.java(3.6.1)里有些地方不对劲
屏幕截图中的代码在robolectric-3.6.1-resources.jar中
环境:
JUnit: 4.12
Robolectric 3.6.1
我有一个使用Robolectric的测试,它在Android Studio中成功,但在命令行上不成功。 我使用的是Robolectric 4.2,测试涉及到一个密码,我在这个测试中部分模拟了它。 //How the cipher is created
val mockCipher = object : Cipher(MockCipherSpi(), null, null) {} MockCipher基本上只返回未加密的输入: class MockCipherSpi : CipherSpi() {
...
private val algorithmParametersSpi: Algo
我一直在用罗波利克做测试,一切都很好。然后,我在我的应用程序类中实现了Google,测试开始失败。当我在测试期间膨胀视图时,似乎会出现失败。下面是堆栈跟踪:
java.lang.NullPointerException: null
at com.google.analytics.tracking.android.AnalyticsGmsCoreClient$AnalyticsServiceConnection.onServiceConnected(AnalyticsGmsCoreClient.java:176)
at org.robolectric.shadows.ShadowApplicat
我刚刚从Android Studio 4.1.1更新到4.2.2。下面是我的项目build.gradle文件。自更新以来,运行我的应用程序运行良好,但运行测试失败。使用Android Studio 4.1.1运行测试的机器仍然可以工作。
我知道对maven repo的请求现在需要https,但我在by gradle文件中没有引用。它的行为就像是4.2.2更改了mavenCentral代码库,而不是https,否则,我不确定为什么这在4.1.1中有效,而不是4.2.2。有没有办法强制存储库为https?
build.gradle
buildscript {
ext {
k
我在android studio里开始使用robolectric。我会运行一个简单的例子,但是我有这个错误
运行测试测试运行已启动的junit.framework.AssertionFailedError:在android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(Instrumen
最近,我开始着手一个新项目,其中包括基于Robolectric的单元测试。
当从Android (v3.6)运行时,所有测试都成功通过。
奇怪的是,当我使用终端上的./gradlew test运行它们时,有些测试失败了,并且有非常可怕的错误:
java.lang.VerifyError: Stack map does not match the one at exception handler 56
Exception Details:
Location:
com/google/android/gms/measurement/internal/zzjy.zza(Landroid/n
因此,我有一个从发出HTTP请求开始的活动。我想在请求期间显示一个进度对话框,这是没有问题的。然而,添加对话框破坏了我的测试,现在我得到了以下错误:
java.lang.NullPointerException
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1246)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRoo
可能的问题是什么?我的Robolectric测试不久前运行得很好,但现在它们都失败了,并出现了相同的错误。我能想到的唯一变化是更改为版本2.1.1。我使用RobolectricTestRunner运行它们,运行配置指向实际的应用程序目录。
但每次测试都会失败,因为访问首选项时,应用程序的应用程序类始终为空:
java.lang.NullPointerException: can't get a shadow for null
at org.robolectric.bytecode.ShadowWrangler.shadowOf(ShadowWrangler.java:4
我有一个C#解决方案和一些参考的dll-s。尽管在visual studio(vs2010)中编译成功,但在使用C#编译器时失败:显然缺少dll。
csc /t:library /out:test.dll test.cs
test.cs(22,10): error CS0246: The type or namespace name
'Attribute' could not be found (are you missing a using directive
or an assembly reference?)
有人知道为什么会这样吗?
我正试图为我的Kotlin应用程序编写一个Robolectric测试,但是我无法让我的测试运行,因为它无法下载Robolectric。我在StackOverflow和Google上搜索过,所有的建议都解决不了我的问题,所以我在这里提出问题。
我正在使用Android 3.6
错误我看到了
Downloading from maven
Downloading: org/robolectric/android-all/9-robolectric-4913185-2/android-all-9-robolectric-4913185-2.pom from repository sonatype a