2016-07-15 9 views
8

Derzeit ist JUnit 5 nur mit einer "stabilen" Version. IntelliJ unterstützt JUnit 5 laut der Website. Meine Frage ist, ob Eclipse auch JUnit 5 unterstützt, und wenn nicht, wenn es unterstützt wird. Mit unterstützt Ich meine, wenn ich JUnit 5 Tests ohne die Notwendigkeit einer @RunWith(PlatformRunner.class) Annotation ausführen kann.Eclipse JUnit 5 Unterstützung

EDIT Oktober 2017 Eclipse jetzt officially supports JUnit 5 als Eclipse Oxygen1.a (4.7.1a)

+1

Versuchte google? Wie ... http://www.codeaffine.com/2016/02/18/junit-5-first-look/ – GhostCat

+0

@ Jägermeister Ich habe diesen Beitrag schon gelesen ... Die Sache ist, als dieser Beitrag bei JUnit 5 gepostet wurde war immer noch in Alpha -> Nein Support überhaupt ... Jetzt unterstützt IntelliJ es. – RoiEX

+4

Sie könnten folgen [Eclipse Bug 488566] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=488566). – Nicolai

Antwort

4

Sie können JUnit 5 Tests in Eclipse-4.7 Oxygen nach der Installation des JUnit 5 Support (BETA) für Oxygen 4.7 Plugin ausführen, die Sie in der Eclipse-Marktplatz finden. Nach einem kompletten Eclipse-Neustart, öffnen Sie Ihre Projekteigenschaften bei

Java Build Path -> Bibliotheken -> Add-Bibliothek -> JUnit -> JUnit 5

6

Mit Eclipse Kepler Service Release 2 Sie JUnit 5 Tests nach annotieren die Klasse mit @RunWith(JUnitPlatform.class) laufen kann wie folgt dar:

import static org.junit.jupiter.api.Assertions.assertEquals; 
import org.junit.jupiter.api.DisplayName; 
import org.junit.jupiter.api.Test; 
import org.junit.platform.runner.JUnitPlatform; 
import org.junit.runner.RunWith; 

@RunWith(JUnitPlatform.class) 
public class Junit5Demo { 

    @DisplayName("First Test") 
    @Test 
    void firstTest() { 
     assertEquals(1, 1); 
    } 
} 

enter image description here

pom.xml des Projekts ist wie folgt:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>arpit.aggarwal.junit5.demo</groupId> 
    <artifactId>junit5-demo</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
     <junit.jupiter.version>5.0.0-M2</junit.jupiter.version> 
     <junit.vintage.version>4.12.0-M2</junit.vintage.version> 
     <junit.platform.version>1.0.0-M2</junit.platform.version> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.19.1</version> 
       <configuration> 
        <includes> 
         <include>**/Test*.java</include> 
         <include>**/*Test.java</include> 
         <include>**/*Tests.java</include> 
         <include>**/*TestCase.java</include> 
        </includes> 
       </configuration> 
       <dependencies> 
        <dependency> 
         <groupId>org.junit.platform</groupId> 
         <artifactId>junit-platform-surefire-provider</artifactId> 
         <version>${junit.platform.version}</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>org.junit.jupiter</groupId> 
      <artifactId>junit-jupiter-engine</artifactId> 
      <version>${junit.jupiter.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.junit.vintage</groupId> 
      <artifactId>junit-vintage-engine</artifactId> 
      <version>${junit.vintage.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.junit.platform</groupId> 
      <artifactId>junit-platform-runner</artifactId> 
      <version>${junit.platform.version}</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
</project> 
+1

Ich weiß das ... Ich habe es bereits in meiner Frage erwähnt. Sie haben möglicherweise den fehlenden Teil – RoiEX

+1

@RoiEX in Ihrer Frage verpasst, die Sie '@RunWith (PlatformRunner.class)' erwähnten, die ich zu '@RunWith (JUnitPlatform.class)' – Arpit

+0

korrigierte. Ja, Sie haben Recht, Entschuldigung – RoiEX