Przed przesłaniem testowych przypadków chcę się upewnić, że działają stabilnie. Czy w Android Studio jest jakiś sposób na uruchomienie tej samej pętli testowej/klasy przez kilka razy?Android Studio - uruchom kilka przypadków testowych kilka razy w pętli
Odpowiedz
Opisz swój test pod numerem @FlakyTest
. Zobacz http://developer.android.com/reference/android/test/FlakyTest.html
Na przykład
@FlakyTest(tolerance = 3)
public void myTest() {
// Test that sometimes fails for no good reason
}
Aktualizacji: Widzę, że używasz espresso. Wtedy ... nie, niestety nie jest to obsługiwane przez android-test-kit
. Ale tutaj jest żądanie funkcji: https://code.google.com/p/android-test-kit/issues/detail?id=153
Po prostu użyj cyklu FOR
. Na przykład:
@Test // test loop
public void openApp() {
int x;
for(x=1; x < 3; x++) {
PageObject open = new PageObject(driver);
waitUntilElmntToBeClckbl(open.sqlApp);
open.sqlApp.click();
driver.navigate().back;
}
To nie jest poprawne! Przed każdym testem należy wykonać niektóre ustawienia/config. Z twoją sugestią, zostanie ona wykonana tylko raz, a następnie test zostanie uruchomiony. Po drugie, gdy test się nie powiedzie, zostanie zakończony. To nie będzie działało dłużej z powodu kolejnych iteracji. Po trzecie, ma to na celu sprawdzenie stabilności przebiegu testowego i musi być wykonane na rzeczywistym kodzie testowym, który ma zostać przesłany. – user846316
Nie podałeś tych informacji w swoim pytaniu ... – Konstantin
Zastosowanie parameterized testów JUnit z kilkoma instancjami pustego parametru zestawu:
@RunWith(Parameterized.class)
public class RepeatedTest {
private static final int NUM_REPEATS = 10;
@Parameterized.Parameters()
public static Collection<Object[]> data() {
Collection<Object[]> out = new ArrayList<>();
for (int i = 0; i < NUM_REPEATS; i++) {
out.add(new Object[0]);
}
return out;
}
@Test
public void unstableTest() {
// your test code here
}
}
parametrycznego klasa Test uruchamia wszystkie swoje metody testowe raz dla każdego elementu w sposobie oznaczonym @Parameters
adnotacji . Zazwyczaj używa się go do uruchomienia testu o różnych wartościach początkowych, ale jeśli nie ma żadnych wartości do ustawienia, test jest po prostu powtarzany tyle razy, ile chcesz.
Test zostanie zaliczony tylko wtedy, gdy przejdą wszystkie wystąpienia.
- 1. Android - tworzysz fragment kilka razy?
- 2. Wystąpienie zdarzenia Socket.io kilka razy
- 3. Jak uruchomić scenariusz jbehave kilka razy kolejno
- 4. Jak wymienić tę samą postać kilka razy?
- 5. Dlaczego `filtr` uruchamia się kilka razy?
- 6. Jak korzystać z ConsoleCancelEventHandler kilka razy
- 7. msbuild przekształcić jeden config kilka razy
- 8. Sposób wykonywania funkcji Powershell kilka razy równolegle
- 9. JavaScript wywołanie funkcji kilka razy z argumentami
- 10. menedżer locationManager: didUpdateLocations: zawsze wywoływane kilka razy
- 11. Jak ponownie uruchomić program w GDB kilka razy?
- 12. Jak uruchomić wiele przypadków testowych Pythona w pętli?
- 13. W jaki sposób można dostosować klasy przypadków testowych DUnit wygenerowane przez Kreator przypadków testowych?
- 14. Android windowSoftInputMode = "adjustPan" przewijać kilka
- 15. Kilka liczników czasu w MATLAB
- 16. Ignoruj kilka ostrzeżeń w Android szarpie
- 17. Korzystanie rodzajowy interfejs kilka razy w tej samej klasie
- 18. getView nazywa się kilka razy na pierwszej pozycji w GridView
- 19. Zmiana nazwy pliku dziennika kilka razy w czasie wykonywania
- 20. żądania HTTP wykonane kilka razy w Angular2 usługi
- 21. jak pominąć kilka iteracji w pętli w Ruby?
- 22. C++ 11 oparte na zakresie pętli() ocenić raz lub kilka razy?
- 23. Jak mogę pominąć kilka iteracji w pętli for
- 24. Uruchamianie przypadków testowych sekwencyjnie w kreatorze
- 25. obrócić UIView wokół jego środka, ale kilka razy
- 26. ASP.NET MVC3 Fluent Validation Constructor trafiony kilka razy na żądanie
- 27. Obliczyć średnią grupy z tymi samymi współczynnikami grupowania kilka razy
- 28. Wywołanie funkcji PHP kilka razy powoduje błąd MySQL
- 29. Pandy wybrać wiersze jeśli ID pojawiają się kilka razy
- 30. Przeprowadź pojedyncze testowanie za pomocą maven kilka razy.
Nie sądzę, że IJ to popiera. Jeśli nie chcesz dotykać swojego kodu testowego, możesz to zrobić, ustawiając -e; dla i in {1..20}; do ./gradlew connectedAndroidTest; done'. –