2016-07-15 179 views
8

Attualmente, JUnit 5 è appena uscito con una versione "stabile". IntelliJ supporta JUnit 5 in base al sito Web. La mia domanda è se eclipse supporta anche JUnit 5, e se non quando sarà supportato. Con supportato intendo se posso eseguire JUnit 5 test senza la necessità di un'annotazione @RunWith(PlatformRunner.class).Supporto Eclipse JUnit 5

EDIT ottobre 2017: Eclipse ora officially supports JUnit 5 come di Eclipse Oxygen1.a (4.7.1a)

+1

provato Google? Come ... http://www.codeaffine.com/2016/02/18/junit-5-first-look/ – GhostCat

+0

@ Jägermeister Ho letto quel post già ... Il punto è quando questo post è stato pubblicato quando JUnit 5 era ancora in alfa -> nessun supporto ... Ora IntelliJ lo supporta. – RoiEX

+4

Si potrebbe voler seguire [Eclipse Bug 488566] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=488566). – Nicolai

risposta

4

È possibile eseguire JUnit 5 test in Eclipse 4.7 Ossigeno dopo l'installazione del JUnit 5 Support (BETA) per Oxygen 4.7 plugin che si possono trovare in Eclipse Marketplace. Dopo un riavvio completo Eclipse, aprire le proprietà del progetto al

Java Build Path -> Biblioteche -> Aggiungi Biblioteca -> JUnit -> JUnit 5

6

Con Eclipse Kepler Service Release 2, è possibile eseguire i test JUnit 5 dopo annotare la classe con @RunWith(JUnitPlatform.class) come segue:

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 del progetto è il seguente:

<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

Lo so ... l'ho già menzionato nella mia domanda. Potresti aver perso la parte senza – RoiEX

+1

@RoiEX nella tua domanda che hai menzionato '@RunWith (PlatformRunner.class)' che ho corretto in '@RunWith (JUnitPlatform.class)' – Arpit

+0

Sì hai ragione, mi dispiace – RoiEX