Ausführen von JUnit 5-Tests mit Ausführen als> SWTBot-Tests in Eclipse

Andreas Sewe

Ich habe ein paar wirklich einfache UI-Tests mit SWTBot 2.8.0 (zum Zeitpunkt des Schreibens die neueste Version). Diese werden in einem Eclipse-Plug-In-Fragment gespeichert und verwenden keine JUnit 4-Besonderheiten wie @RunWith(SWTBotJunit4ClassRunner.class):

public class MyTest {

  private final SWTBot bot = new SWTBot();

  @Test
  public void test() {
    // …
  }
}

Wenn ich jetzt von org.junit.TestJUnit 5 wechsleorg.junit.jupiter.api.Test und dann versuche, die Tests über Ausführen als> SWTBot-Test auszuführen , wird der folgende Fehler angezeigt :

Exception in thread "WorkbenchTestable" java.lang.IllegalArgumentException: Error: test loader org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader not found:
org.junit.platform.commons.util.PreconditionViolationException: Cannot create Launcher without at least one TestEngine; consider adding an engine implementation JAR to the classpath
    at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:295)
    at org.junit.platform.launcher.core.DefaultLauncher.<init>(DefaultLauncher.java:58)
    at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:91)
    at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67)
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:370)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:365)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:309)
    at org.eclipse.swtbot.eclipse.core.RemotePluginTestRunner.init(RemotePluginTestRunner.java:85)
    at org.eclipse.swtbot.eclipse.core.RemotePluginTestRunner.main(RemotePluginTestRunner.java:63)
    at org.eclipse.swtbot.eclipse.core.UITestApplication.runTests(UITestApplication.java:120)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.lambda$0(E4Testable.java:76)
    at java.lang.Thread.run(Thread.java:748)

gefolgt von der Meldung Keine Tests mit Runner: JUnit 5 gefunden , wenn ich die Ausführung abbreche.

Mein MANIFEST.MFenthält diese Zeilen:

Require-Bundle: org.eclipse.swtbot.swt.finder;bundle-version="[2.7.0,3.0.0)",
 org.junit;bundle-version="[4.12.0,5.0.0)",
 org.junit.jupiter.api;bundle-version="[5.4.0,6.0.0)",
 org.junit.jupiter.engine;bundle-version="[5.4.0,6.0.0)"

Was muss ich noch zum Require-BundleHeader hinzufügen , um die obige Ausnahme zu beseitigen?

Hinweis: Im Gegensatz dazu initialisiert Run As> JUnit Plug-in Test den Testläufer korrekt (in der JUnit- Ansicht wird Test Test.testmit angezeigtRunner: JUnit 5 ), friert dann jedoch ein, da die Tests natürlich auf der UI-Bedrohung ausgeführt werden, was für SWTBot-Tests kein Problem ist .

Bananeweizen

SWTBot unterstützt nur JUnit 5 ab SWTBot 3.0, das gemäß der Ankündigung der Mailingliste als Teil von Eclipse 2020-06 veröffentlicht wurde .

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Ausführen von JUnit5-Tests, die als Plug-In in einer Eclipse-Anwendung installiert sind, mit Maven

Ausführen von JUnit-Tests mit Maven unter Eclipse

Ausführen von AsyncHttpClient mit JUNIT-Tests

ClassNotFoundException beim Ausführen von JUnit-Tests mit Ant

Ausführen von Go-Tests in Eclipse

Ausführen von Tests mit Spring Boot

Cucumber UndefinedStepException beim Ausführen von Tests mit einem externen Runner basierend auf der JUnit5-Plattform

JHipster & Gradle: Ausführen von Junit-Tests von STS

ClassNotFoundException beim Ausführen eines Junit-Tests in Eclipse

Ausführen eines @ Ignored JUnit-Tests in Eclipse

Ausführen jedes JUnit-Tests in einer separaten JVM in Eclipse?

Ausführen von Junit-Tests mit mpirun unter Verwendung von Maven Surefire

Ausführen eines einzelnen JUnit4-Tests in Eclipse mit Maven

Ant + JUnit = ClassNotFoundExceptions beim Ausführen von Tests?

Paralleles Ausführen von JUnit-Tests in IntelliJ IDEA

ZipException beim Ausführen von Junit-Tests

YML-Datei zum Ausführen von JUnit-Tests

Paralleles Ausführen von junit-parametrisierten Tests (keine Klassen)

junit5 - Tests parallel ausführen (ohne forkCount in pom)

Ausführen von spezifischen Set-up für getaggt Tests in JUnit 5

Ausführen von JUnit-Tests in einer laufenden OSGi-Anwendung mit IDE-Integration

Ausführen dateibasierter Tests auf der Junit 5-Plattform mit Apache Maven Surefire

Ausführen von QuickTests als LoadRunner-Tests

Ausführen von Tests, die mit dem Dotnet-Test als [Explizit] markiert sind

Ausführen von Django-Tests mit Jenkinsfile (mit Docker)

Was ist der Zweck von Karate-Junit5, wenn Sie Tests ohne Karate-Junit5 ausführen können?

AngularJS-Tests mit Protractor – Ausführen von asynchronen Skripten

Ausführen von XUnit-Tests mit Jenkins

Ausführen von OUnit-Tests mit dune

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv