我正在尝试将机器人电气集成到我的新项目中。我使用以下链接来理解和暗示机器人电气
http://pivotallabs.com/setting-up-robolectric-in-android-studio-1-1-on-os-x/
http://ne nick-Android . blogspot . in/2015/02/Android-studio-110-beta-4-and . html
http://raptordigital.blogspot.in/2014/02/test-driven-development-with.html
但是在运行我的测试类时,我得到了以下错误
Error:Gradle: Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
E:\junitTest\android-studio-robolectric-example-master\JunitTestApp\app\src\test\java\com\inapp\junittestapp\SampleTest.java
Error:(7, 17) Gradle: error: package org.junit does not exist
Error:(8, 24) Gradle: error: package org.junit.runner does not exist
Error:(9, 23) Gradle: error: package org.robolectric does not exist
Error:(10, 34) Gradle: error: package org.robolectric.annotation does not exist
Error:(11, 31) Gradle: error: package org.robolectric.shadows does not exist
Error:(13, 27) Gradle: error: package org.hamcrest does not exist
Error:(13, 1) Gradle: error: static import only from classes and interfaces
Error:(14, 27) Gradle: error: package org.hamcrest does not exist
Error:(14, 1) Gradle: error: static import only from classes and interfaces
Error:(15, 24) Gradle: error: package org.junit does not exist
Error:(15, 1) Gradle: error: static import only from classes and interfaces
Error:(16, 30) Gradle: error: package org.robolectric does not exist
Error:(16, 1) Gradle: error: static import only from classes and interfaces
Error:(17, 30) Gradle: error: package org.robolectric does not exist
Error:(17, 1) Gradle: error: static import only from classes and interfaces
Error:(18, 30) Gradle: error: package org.robolectric does not exist
Error:(18, 1) Gradle: error: static import only from classes and interfaces
Error:(25, 2) Gradle: error: cannot find symbol class RunWith
Error:(26, 2) Gradle: error: cannot find symbol class Config
Error:(30, 6) Gradle: error: cannot find symbol class Test
Error:(32, 38) Gradle: error: cannot find symbol method setupActivity(Class<MainActivity>)
Error:(36, 9) Gradle: error: cannot find symbol method clickOn(Button)
Error:(38, 41) Gradle: error: cannot find symbol variable ShadowAlertDialog
Error:(39, 42) Gradle: error: cannot find symbol method notNullValue()
Error:(41, 9) Gradle: error: cannot find symbol class ShadowAlertDialog
Error:(41, 47) Gradle: error: cannot find symbol method shadowOf(AlertDialog)
Error:(42, 61) Gradle: error: cannot find symbol method is(String)
在我的测试类代码下面添加
import android.app.AlertDialog;
import android.widget.Button;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertThat;
import static org.robolectric.Robolectric.clickOn;
import static org.robolectric.Robolectric.setupActivity;
import static org.robolectric.RobolectricBase.shadowOf;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "app/src/main/AndroidManifest.xml", emulateSdk = 18)
public class SampleTest {
@Test
public void buttonTapDisplaysAnAlertDialog() {
MainActivity helloActivity = setupActivity(MainActivity.class);
Button button = (Button) helloActivity.findViewById(R.id.button);
clickOn(button);
AlertDialog latestAlertDialog = ShadowAlertDialog.getLatestAlertDialog();
assertThat(latestAlertDialog, is(notNullValue()));
ShadowAlertDialog shadowAlertDialog = shadowOf(latestAlertDialog);
assertThat(shadowAlertDialog.getTitle().toString(), is("Hi"));
}
}
我的应用程序gradle文件是
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.junittestapp"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { java.srcDirs = ['src/main/java', 'src/test/java/'] } }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:22.1.1'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:2.4'
}
我也在这个博客中发现了同样的错误
html" target="_blank">https://discuss.gradle.org/t/why-cant-my-simplest-one-line-build-gradle-compile-tests-with-junit-jar/1868
我想我错过了什么。任何帮助都将不胜感激。
您的问题是,您有一个声明为main的sourceSet,其中包含应用程序和测试的代码。这就是为什么Gradle task ':app:compileDebugJava '失败的原因,因为它当时没有junit.jar(它是在testCompile - time注入的)。声明两个不同的sourceSet,一切都应该工作。
sourceSets {
main {
java.srcDirs = ['src/main/java']
}
robolectric {
java.srcDir file('src/test/java/')
resources.srcDir file('src/test/resources')
}
}
问题内容: 我正在尝试使用maven创建javadoc,但失败。进行验证时,它也会失败。 我收到以下错误: 在我的pom.xml文件中,有以下几行: 我的本地存储库包含junit jar文件: 该代码很好,因为在我现在无法访问的笔记本电脑中,我运行: 没问题,测试也可以在Eclipse IDE中使用。 问题答案: 好的,您仅声明了对类的依赖(位于中的类,但是您试图在类(位于中的类中)使用它。 要么
当我运行命令gradle war integrationTest时,集成测试失败,因为它在服务项目中找不到上下文侦听器。错误消息的片段如下: 对此我们非常感谢您的帮助。提前致谢
问题内容: 当我使用Java IDE构建具有JUnit测试的项目(例如NetBeans)时,它们可以正常编译,但是当我尝试在IDE外部使用ant运行构建脚本时,出现错误“包org.junit不存在”。 问题答案: 您应该将junit.jar添加到ant文件的classpath定义中。 有很多方法可以做到,例如: 有关设置类路径的详细信息,请参见Ant手册。
尝试与JIB(容器化您的GradleJava项目)与我的Java项目集成。 在此留档之后:https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin 在我的项目中添加了以下内容: Gradle版本是:5.6.4 使用“/gradlew”构建的编译工作正常。但是,当执行“gradle jib”时,会出现以下错误:
我在构建过程中非常成功地集成了Gradle (1.11)、Sonar ( 4.1.1)、Java、Scala和Jacoco。我甚至设法获得了关于成功测试数量的信息(感谢Stackoverflow!).不过,我有一个问题。 我似乎无法获得有关每个测试的覆盖率的信息。如果能有这些信息就好了。 该项目的简化版本位于:https://github.com/sebastianharko/gradle-son
我在用Firebase做一个应用程序。 用户上传的照片保存在firebase存储中。 我使用firebase cloud函数制作缩略图以更快地加载照片, 如何将firebase存储与google cloud CDN集成??