Pytanie Test nie powiódł się: nie można ukończyć testu. Oczekiwano 1 testów, otrzymanych 0
Spróbuj uruchomić test JUnit (robotium) dla mojej aplikacji.
public class MainTest extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
public MainTest() {
super("nix.android.contact", MainActivity.class);// TODO Auto-generated constructor stub
}
protected void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(), getActivity());
}
public void AddContact() {
solo.assertCurrentActivity("main", MainActivity.class);
}
}
Oczywisty
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="nix.android.contact" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
Kiedy próbuję uruchomić test, wejdź do konsoli:
Test nie powiódł się: nie można ukończyć testu. Oczekiwano 1 testów, otrzymanych 0
12
2017-07-24 22:05
pochodzenie
Odpowiedzi:
Miałem ten problem, gdy nie miałem konstruktora no-args.
public class MainActivityTest extends
ActivityInstrumentationTestCase2<MainActivity_> {
public MainActivityTest() {
super(MainActivity_.class);
}
...
5
2017-10-10 20:00
Problem leży w twoim telefonie
super("nix.android.contact", MainActivity.class);
W moim kodzie mam
super("nix.android.contact", Class.forName("nix.android.contact.MainActivity"));
Zrobiłem to również w ten sposób, bez konieczności nazwania Generic dla ActivityInstrumentationTestCase 2
public class TestApk extends ActivityInstrumentationTestCase2 {
private static final String TARGET_PACKAGE_ID = "nix.android.contact";
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "nix.android.contact.MainActivity";
private static Class<?> launcherActivityClass;
static{
try {
launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@SuppressWarnings("unchecked")
public TestApk() throws ClassNotFoundException {
super(TARGET_PACKAGE_ID, launcherActivityClass);
}
1
2017-07-24 22:14
Miałem ten sam komunikat o błędzie. Problem polegał na tym, że nazwa mojej metody testowej musiała zaczynać się od "testu".
Na przykład: testMethod1()
działa podczas method1Test()
podaje błąd.
1
2017-10-07 11:15
Sprawdź, czy nie rozwijasz metody, od której zależy Twój test, ale nic w aplikacji nie używa - logcat będzie narzekać na brakującą klasę lub metodę z pakietu aplikacji.
Spróbuj odinstalować pakiet docelowy, aby sprawdzić, czy nie zostało ono z alternatywnej wersji (jeśli na przykład używasz Mavena przy Eclipse).
0
2017-09-26 12:19
Miałem ten błąd i naprawiłem go, usuwając parametr z metody konstruktora, został stworzony przez kreatora Eclipse jako:
public OptionsActivityTest( String name ) {
Właśnie musiałem usunąć "String name", aby moje testy znów działały.
0
2018-01-25 17:49
Podczas testowania aplikacji miałem ten sam problem.
Czasami to działa, ale większość razy test się nie udał i podniósł ten sam błąd.
Test zakończył się niepowodzeniem.
Powód: "Testowanie nie powiodło się. Oczekiwano 1 testu, otrzymano 0 '.
Sprawdź urządzenie logcat, aby poznać szczegóły
Sprawdziłem nazwę testu we wszystkich moich testach i tak samo było w dwóch klasach, zmieniłem nazwę testu i działa, gdy ponownie rozpocznę test.
Może również powodować błąd, gdy moje urządzenie zostanie odłączone od komputera.
0
2018-04-19 05:49
Miałem ten sam problem podczas testowania oprzyrządowania na Androida (@RunWith (AndroidJUnit4.class)).
Wystąpił następujący błąd:
Tests on Nexus_5X_API_26(AVD) - 8.0.0 failed:
Test run failed to complete. Expected 156 tests, received 152
Problem polegał na tym, że jedna z klas testowych zawodziła w metodzie oznaczonej @Przed zajęciami, w związku z tym nie przeprowadzono żadnych testów dla tej konkretnej klasy. Co więcej, wyjątek, który został wrzucony do środka @Przed zajęciami nie dotarło do wyników testów / danych wyjściowych / raportu. Dlatego trudno było znaleźć przyczynę "Oczekiwano N testów, otrzymano M" Komunikat o błędzie.
Tak więc, jeśli napotkasz na ten sam problem - sprawdź implementacje @Before i @BeforeClass - wyjątek może być przyczyną. Mam nadzieję że to pomoże.
0
2018-06-19 10:29
Wszystkie nazwy testów powinny zaczynać się od prefiksu "test".
-1
2018-04-25 06:58