ich die folgenden Abhängigkeiten zu meinem Android-Projekt hinzugefügt:Erste junit.framework.AssertionFailedError: Keine gefundene Tests [Paket] bei der Verwendung von Einheit und Mockito
// Unit testing dependencies
androidTestCompile 'junit:junit:4.12'
// Set this dependency if you want to use Mockito
androidTestCompile 'org.mockito:mockito-core:1.10.19'
Und einen Test mit junit4 api erstellen (ein Beispiel, Adder ist eine einfache Klasse, die fasst ints):
@RunWith(MockitoJUnitRunner.class)
public class AdderTest {
@Test
public void testValidAdd() {
Adder adder = new Adder();
assertEquals(adder.add(1,1), 2);
}
}
Wenn ich versuche, den Test auszuführen, erhalte ich:
Running tests Test running started junit.framework.AssertionFailedError: No tests found in com.test.myapp.AdderTest 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) Finish
Ich lese here und here, aber nichts hilft.
Kann jemand sehen, was ich falsch mache/irgendwelche Eingabe?
Komponententests gehören in den Ordner 'test'. Verwenden Sie daher' testCompile'. Außerdem benötigen Sie nicht die '@ RunWith (MockitoJUnitRunner.class)'. –
Dies war nur ein Beispiel. Ich brauche in meinem ursprünglichen Projekt Mocks. Darüber hinaus verwendet der Code, den ich testen, android.util.Patterns.EMAIL_ADDRESS, und es gibt null zurück, wenn ich es als Komponententest ausführen. Wenn ich es als Android Instrumentierungstest laufen lasse, wird es nicht den tatsächlichen Matcher zurückgeben? – dors
Posten Sie Ihren Code für Klarheit. Sie sollten Robolectric für Komponententests verwenden.Es instrumentiert die Klassen, die Sie brauchen, damit Sie keine Mocks * für alles brauchen *. –