- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
gradlew 测试命令在 CircleCI 上失败。当我在本地执行相同的命令时,它工作正常并且所有测试用例都通过了。我附上了 yml 文件,来自 CircleCI 的日志和我的测试类。
这是我的 yml 文件。
version: 2
jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-28
environment:
JVM_OPTS: -Xmx4096m
CC_TEST_REPORTER_ID: XXXXXXXXXXXXXXXXXX
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
# - run:
# name: Chmod permissions #if permission for Gradlew Dependencies fail, use this.
# command: sudo chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
# - run:
# name: Run Lint Tests
# command: ./gradlew lint test
- run:
name: Run Tests
command: ./gradlew test --info
# - run:
# name: Run Instrument Tests
# command: ./gradlew connectedAndroidTest
- store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/
path: app/build/reports
destination: reports
- store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/
path: app/build/test-results
当我检查 CircleCI 的日志时,这些是日志:
Executing transform IdentityTransform -> IdentityTransform on artifact core.jar (com.google.zxing:core:3.3.0) Executing transform IdentityTransform -> IdentityTransform on artifact protobuf-java.jar (com.google.protobuf:protobuf-java:2.6.1) Executing transform IdentityTransform -> IdentityTransform on artifact backport-util-concurrent.jar (backport-util-concurrent:backport-util-concurrent:3.1) Executing transform IdentityTransform -> IdentityTransform on artifact xercesMinimal.jar (nekohtml:xercesMinimal:1.9.6.2) Executing transform IdentityTransform -> IdentityTransform on artifact nekohtml.jar (nekohtml:nekohtml:1.9.6.2) Executing transform MockableJarTransform on file /opt/android/sdk/platforms/android-28/android.jar Starting process 'Gradle Test Executor 2'. Working directory: /home/circleci/code/app Command: /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.awt.headless=true -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dorg.gradle.native=false -noverify -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea -cp /home/circleci/.gradle/caches/4.10.1/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 2' Successfully started process 'Gradle Test Executor 2'
com.mindvalley.mva.loginmodule.LoginActivityTest > isSkipLoginVisible STANDARD_OUT [Robolectric] com.mindvalley.mva.loginmodule.LoginActivityTest.isSkipLoginVisible: sdk=28; resources=binary Called loadFromPath(/system/framework/framework-res.apk, true); mode=binary sdk=28
com.mindvalley.mva.loginmodule.LoginActivityTest > isSkipLoginVisible SKIPPED
Task :app:testInternalReleaseUnitTest FAILED :app:testInternalReleaseUnitTest (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 3.413 secs.
失败:构建失败,出现异常。
出了什么问题:任务“:app:testInternalReleaseUnitTest”执行失败。
Process 'Gradle Test Executor 2' finished with non-zero exit value 137 This problem might be caused by incorrect test process configuration. Please refer to the test execution section in the user guide at https://docs.gradle.org/4.10.1/userguide/java_plugin.html#sec:test_execution
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获取 完整的见解。
在 https://help.gradle.org 获得更多帮助
我的登录测试 Activity
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE, application = MockApplication.class)
public class LoginActivityTest {
private LoginActivity activity;
@Before
public void setup() {
activity = Robolectric.buildActivity(LoginActivity.class).create().resume().get();
}
@Test
public void shouldNotBeNull() {
Assert.assertNotNull(activity);
}
/**
* check by default visibility. It should be not visible
* Once we change variable in Login module it should be Visible
*/
@Test
public void isSkipLoginVisible() {
TextView skipLogin = activity.findViewById(com.mindvalley.loginmodule.R.id.skip_login);
LoginModule.getInstance().setSkipLogin(false);
activity.setSkipLoginVisibility();
Assert.assertTrue(skipLogin.getVisibility() == View.GONE);
LoginModule.getInstance().setSkipLogin(true);
activity.setSkipLoginVisibility();
Assert.assertTrue( skipLogin.getVisibility() == View.VISIBLE);
}
@Test
public void enableActionButtonTest() {
CustomFeedbackText loginButton = activity.findViewById(com.mindvalley.loginmodule.R.id.login_btn_login);
String email = "";
String password = "";
activity.enableActionButton(email, password);
Assert.assertTrue(!loginButton.isEnabled());
email = "harsh@mindvalley.com";
password = "123";
activity.enableActionButton(email, password);
Assert.assertTrue(loginButton.isEnabled());
}
@Test
public void skipLoginClicked() {
TextView skipLogin = activity.findViewById(com.mindvalley.loginmodule.R.id.skip_login);
Assert.assertTrue(!PreferenceManager.getBoolean(LoginModule.SKIP_LOGIN, false));
skipLogin.performClick();
Assert.assertTrue(PreferenceManager.getBoolean(LoginModule.SKIP_LOGIN, false));
}
@Test
public void sanitizeLogin() {
String email = "";
String password = "";
Assert.assertTrue(!activity.sanitizeLogin(email, password));
email = "harsh";
password = "";
Assert.assertTrue(!activity.sanitizeLogin(email, password));
email = "harsh@mindvalley";
password = "";
Assert.assertTrue(!activity.sanitizeLogin(email, password));
email = "harsh@mindvalley.com";
password = "";
Assert.assertTrue(!activity.sanitizeLogin(email, password));
email = "harsh@mindvalley.com";
password = "test";
Assert.assertTrue(!activity.sanitizeLogin(email, password));
email = "harsh@mindvalley.com";
password = "test123";
Assert.assertTrue(activity.sanitizeLogin(email, password));
}
@Test
public void loginClicked() {
CustomFeedbackText loginButton = activity.findViewById(com.mindvalley.loginmodule.R.id.login_btn_login);
EditText emailEditText = activity.findViewById(com.mindvalley.loginmodule.R.id.login_edittext_email);
EditText passwordEditText = activity.findViewById(com.mindvalley.loginmodule.R.id.login_edittext_password);
emailEditText.setText("harsh@mindvalley.com");
passwordEditText.setText("test123");
loginButton.performClick();
Assert.assertTrue(Util_Auth0.getInstance().getAndroidClient() != null);
// test update prefs method
activity.updatePrefs();
Assert.assertTrue(!PreferenceManager.getBoolean(LoginModule.SKIP_LOGIN, false));
Assert.assertTrue(PreferenceManager.getBoolean(LoginModule.SIGNED_IN, false));
}
@After
public void tearDown() {
activity = null;
}
}
最佳答案
这里有答案
https://github.com/robolectric/robolectric/issues/4591#event-2116260870
这是 stackoverflow 答案的链接 Why are my Gradle builds dying with exit-code 137?
谢谢克里斯蒂安·威廉姆斯
关于android - CircleCI ./gradlew 测试命令失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54513980/
我是 Gradle 新手,正在阅读此处的 Spring 教程: http://spring.io/guides/gs/gradle/ 我到达了它告诉我添加此任务的部分: task wrapper(ty
我在我的 react-native 项目的 gradlew clear 文件夹中错误地写了 gradlew clean 而不是 android,我发现它做了一些认真的工作。那么这是在做什么, grad
我注意到了 ./gradlew tasks 对于我的 android 项目,给我 assemble* 和 compile* 任务。 有什么区别? 我还注意到该命令列出了任务 compileDemoDe
我正在 salve 机器上设置 Jenkins 作业,我是 Linux shell 的新手。现在我有一个问题: 以 jenkins(为 Jenkins 作业设置的用户帐户)登录,执行 ./gradle
我想在 gradle 的帮助下从命令行构建 apk。我应该使用哪个命令来构建仅发布版本的 apk? 最佳答案 调试 ./gradlew 发布 ./gradlew assembleRelease 你的
我正在尝试 bundle 我的 APK。当我使用 gradlew assembleRelease或 assembleReleaseStaging我的应用程序没有变化。当我使用 react-native
根据 this以及我看过的许多其他地方/论坛,我应该始终在我的 git/svn/cvs 中包含 gradle 包装文件。 但是,为什么?在我的 build.gradle 文件中,我已经明确包含了我希望
我有以下情况: 我有一个包含几个子项目的项目。今天我尝试通过命令行使用 gradle 构建项目。 执行 ./gradlew clean :build 时构建成功, 但不是 ./gradlew clea
一个疯狂的问题,当我运行 gradlew assembleRelease 时,错误信息是: ... Loading dependency graph, done.easeJsAndAssets war
我尝试从命令行运行 gradlew,但经常遇到以下错误。 Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --s
我有一个来自 Gaelyk(称为 Bloogie)的示例,它使用 gradlew。 我在代理后面。 我阅读了 gradle 文档并发现了这个: gradle.properties systemProp
我有一个gradle项目。 当我输入“gradlew 任务”时,我会看到一堆任务。 这些任务在哪里?我如何查看它们的定义位置? 最佳答案 gradle help --task 将为您提供有关给定任务
我正在使用 Minecraft Forge 进行 retrofit 。对于那些不知道 Forge 是什么的人来说,它是一个防止模组破坏 Minecraft 源代码并帮助模组共存的程序。它还包含一个开发
我已经设置了 build.gradle文件与 apply plugin: 'java' .我尝试使用说明设置 gradle 包装器 here ,但是当我输入 sudo ./gradlew build
我从 git 加载一个项目并在 MacBook 上成功构建它。当我在终端窗口中输入 './gradlew assembleRelease' 时,出现错误: bash: ./gradlew: No su
我运行./gradlew clean是因为我的flutter运行assembleDebug过程花费了意想不到的长时间。我希望它删除我的文件夹,但相反,它开始下载gradle。Downloading h
当我尝试使用 ./gradlew clean 清理我的项目时它有效,但是./gradlew build不会工作。我尝试了一些存储库,但它无法解决 Spring 依赖项。 这里是 build.gradl
我正在尝试构建libGDX项目,但是gradlew刚刚停止工作。两个月前,它运行良好。似乎更新Java破坏了它。这是发生了什么: 这是Java文件夹的内容(不知道为什么会有用): 最佳答案 您的JAV
我正面临这个问题 sparsh610@DESKTOP-551C51M:/mnt/e/xxxxxxxxx$ ./gradlew mm : not found2: ./gradlew: : not fou
我已经设置了 build.gradle 文件,目前我的项目运行良好。现在的问题是当我运行 ./gradlew run 时,它失败并显示错误: What went wrong: Execution fa
我是一名优秀的程序员,十分优秀!