How to run instrumentation test with AndroidX on application as well as library module?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have an android project which contains 2 modules.
- Android Library Module
- Android Demo App Module for Library
I have setup required Test dependency, Gradle configuration same for both the project.
When I run a test from demo app it runs without any issue.
But when the same sample test code run from a library module it can't able to find tests.
Here is the log I can see from the "Run" tab in an android studio.
Demo Module Test - Result
$ adb shell CLASSPATH=$(pm path androidx.test.services) app_process / androidx.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.paymentdemo.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.paymentdemo.ExampleInstrumentedTest' androidx.test.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Tests ran to completion.
Library Module Test - Result
$ adb shell CLASSPATH=$(pm path android.support.test.services) app_process / android.support.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.payment.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.payment.ExampleInstrumentedTest' android.support.test.orchestrator/android.support.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Test running failed: No test results
Empty test suite.
From the above logs, I can see the difference in test services used by both modules.
Demo Module - androidx.test.services
Library Module - android.support.test.services
from the above observations, I have tried to covert those into similar behavior but unfortunately, I can't able to find any exact and valid answer or options.
Configuration for Instrumentation Runner for both module
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Few test dependencies for both module
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.1'
androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test:core-ktx:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestUtil 'androidx.test:orchestrator:1.1.1'
I have created a new project with the library module and run the tests, it works fine for both modules(with support libraries).
I have migrated newly created project with AndroidX and then also works fine for both modules.
Hence, I am getting confused and can't able to figure out the solution for this situation as of now. I am looking forward to your help if anyone has any clues/suggestions/answers?
android unit-testing android-espresso androidx android-instrumentation
add a comment |
I have an android project which contains 2 modules.
- Android Library Module
- Android Demo App Module for Library
I have setup required Test dependency, Gradle configuration same for both the project.
When I run a test from demo app it runs without any issue.
But when the same sample test code run from a library module it can't able to find tests.
Here is the log I can see from the "Run" tab in an android studio.
Demo Module Test - Result
$ adb shell CLASSPATH=$(pm path androidx.test.services) app_process / androidx.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.paymentdemo.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.paymentdemo.ExampleInstrumentedTest' androidx.test.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Tests ran to completion.
Library Module Test - Result
$ adb shell CLASSPATH=$(pm path android.support.test.services) app_process / android.support.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.payment.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.payment.ExampleInstrumentedTest' android.support.test.orchestrator/android.support.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Test running failed: No test results
Empty test suite.
From the above logs, I can see the difference in test services used by both modules.
Demo Module - androidx.test.services
Library Module - android.support.test.services
from the above observations, I have tried to covert those into similar behavior but unfortunately, I can't able to find any exact and valid answer or options.
Configuration for Instrumentation Runner for both module
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Few test dependencies for both module
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.1'
androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test:core-ktx:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestUtil 'androidx.test:orchestrator:1.1.1'
I have created a new project with the library module and run the tests, it works fine for both modules(with support libraries).
I have migrated newly created project with AndroidX and then also works fine for both modules.
Hence, I am getting confused and can't able to figure out the solution for this situation as of now. I am looking forward to your help if anyone has any clues/suggestions/answers?
android unit-testing android-espresso androidx android-instrumentation
add a comment |
I have an android project which contains 2 modules.
- Android Library Module
- Android Demo App Module for Library
I have setup required Test dependency, Gradle configuration same for both the project.
When I run a test from demo app it runs without any issue.
But when the same sample test code run from a library module it can't able to find tests.
Here is the log I can see from the "Run" tab in an android studio.
Demo Module Test - Result
$ adb shell CLASSPATH=$(pm path androidx.test.services) app_process / androidx.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.paymentdemo.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.paymentdemo.ExampleInstrumentedTest' androidx.test.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Tests ran to completion.
Library Module Test - Result
$ adb shell CLASSPATH=$(pm path android.support.test.services) app_process / android.support.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.payment.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.payment.ExampleInstrumentedTest' android.support.test.orchestrator/android.support.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Test running failed: No test results
Empty test suite.
From the above logs, I can see the difference in test services used by both modules.
Demo Module - androidx.test.services
Library Module - android.support.test.services
from the above observations, I have tried to covert those into similar behavior but unfortunately, I can't able to find any exact and valid answer or options.
Configuration for Instrumentation Runner for both module
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Few test dependencies for both module
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.1'
androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test:core-ktx:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestUtil 'androidx.test:orchestrator:1.1.1'
I have created a new project with the library module and run the tests, it works fine for both modules(with support libraries).
I have migrated newly created project with AndroidX and then also works fine for both modules.
Hence, I am getting confused and can't able to figure out the solution for this situation as of now. I am looking forward to your help if anyone has any clues/suggestions/answers?
android unit-testing android-espresso androidx android-instrumentation
I have an android project which contains 2 modules.
- Android Library Module
- Android Demo App Module for Library
I have setup required Test dependency, Gradle configuration same for both the project.
When I run a test from demo app it runs without any issue.
But when the same sample test code run from a library module it can't able to find tests.
Here is the log I can see from the "Run" tab in an android studio.
Demo Module Test - Result
$ adb shell CLASSPATH=$(pm path androidx.test.services) app_process / androidx.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.paymentdemo.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.paymentdemo.ExampleInstrumentedTest' androidx.test.orchestrator/androidx.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Tests ran to completion.
Library Module Test - Result
$ adb shell CLASSPATH=$(pm path android.support.test.services) app_process / android.support.test.services.shellexecutor.ShellMain am instrument -r -w -e targetInstrumentation com.cardstream.payment.test/androidx.test.runner.AndroidJUnitRunner -e debug false -e class 'com.cardstream.payment.ExampleInstrumentedTest' android.support.test.orchestrator/android.support.test.orchestrator.AndroidTestOrchestrator
Client not ready yet..
Started running tests
Test running failed: No test results
Empty test suite.
From the above logs, I can see the difference in test services used by both modules.
Demo Module - androidx.test.services
Library Module - android.support.test.services
from the above observations, I have tried to covert those into similar behavior but unfortunately, I can't able to find any exact and valid answer or options.
Configuration for Instrumentation Runner for both module
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Few test dependencies for both module
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.1'
androidTestImplementation 'androidx.test:core:1.1.0'
androidTestImplementation 'androidx.test:core-ktx:1.1.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestUtil 'androidx.test:orchestrator:1.1.1'
I have created a new project with the library module and run the tests, it works fine for both modules(with support libraries).
I have migrated newly created project with AndroidX and then also works fine for both modules.
Hence, I am getting confused and can't able to figure out the solution for this situation as of now. I am looking forward to your help if anyone has any clues/suggestions/answers?
android unit-testing android-espresso androidx android-instrumentation
android unit-testing android-espresso androidx android-instrumentation
asked Jan 3 at 10:19
Jignesh PatelJignesh Patel
732619
732619
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54020300%2fhow-to-run-instrumentation-test-with-androidx-on-application-as-well-as-library%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54020300%2fhow-to-run-instrumentation-test-with-androidx-on-application-as-well-as-library%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown