Voglio testare il mio MainActivity
nella mia applicazione Android. Così, ho creato un primo test che verifica la funzionalità di un pulsante. Se l'utente fa clic su questo particolare pulsante, dovrebbe aprirsi una nuova attività.Nessun test trovato in <package> durante il test con Espresso
Ecco il mio codice:
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void startNewActivityTest() {
Intents.init();
onView(withId(R.id.main_new)).perform(click());
intended(hasComponent(NewActivity.class.getName()));
Intents.release();
}
@Before
public void setup() {
closeSoftKeyboard();
}
}
Purtroppo, ottengo la seguente eccezione:
junit.framework.AssertionFailedError: No tests found in package.MainActivityTest
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Ecco il mio file Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "23.0.1"
lintOptions {
abortOnError false
}
defaultConfig {
applicationId "package"
minSdkVersion 14
targetSdkVersion 19
}
signingConfigs {
debug {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile 'com.google.android.gms:play-services:4.2.+'
androidTestCompile 'com.android.support:support-annotations:19.0.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
// Set this dependency if you want to use Hamcrest matching
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
}
Puoi pubblicare qualche informazione in più del vostro ambiente (come la versione Gradle, file di Gradle, ecc)? Hai preso in considerazione l'utilizzo di [Robolectric] (http://robolectric.org/)? – Schrieveslaach
forse https://github.com/googlesamples/android-testing/blob/master/ui/espresso/IntentsBasicSample/app/build.gradle#L13 – albodelu