2017-07-05 76 views
1

我从JUnit测试开始。当测试失败时,JUnit测试结果显示为0,但测试正常时显示为1

我想写简单的测试,并得到了问题。

当测试是确定,它被示出在结果: 试验运行:,失败:,错误:0,跳过:0,所经过的时间:0.008小号

@SpringBootTest 
public class SampleTest { 

    @Test 
    public void Test() { 
     assertEquals(1,1, "Fail"); 
     // assertEquals(1,0, "Fail"); Should fail and display message 
    } 
} 

当我改变一个1比0,所以应该会失败: 测试运行:,失败:,错误:0,跳过:0,经过时间:0.008小号 它也不会抛出的错误信息,应该抛出。

我做错了什么,或者它不应该是这样吗?试图谷歌,但无法找到类似的问题。

我正在使用JUnit5。从运行IntelliJ IDEA的测试 - > Maven项目 - >生命周期 - >测试

UPDATE:

我试图从的IntelliJ运行 - 显示所有邮件等 奇怪的是,它不是从正常工作Maven测试。

UPDATE 2: 这可能是关于pom.xml配置的东西吗?

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 
     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>com.project</groupId> 
    <artifactId>project</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>project</name> 
    <description>project - server</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>2.0.0.BUILD-SNAPSHOT</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
     <junit-jupiter-api-version>5.0.0-M5</junit-jupiter-api-version> 
     <junit.jupiter.version>5.0.0-M5</junit.jupiter.version> 
     <junit.platform.version>1.0.0-M5</junit.platform.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-security</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>io.jsonwebtoken</groupId> 
      <artifactId>jjwt</artifactId> 
      <version>0.7.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.session</groupId> 
      <artifactId>spring-session</artifactId> 
      <version>1.3.1.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-social-facebook</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-validation</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-websocket</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
      <version>LATEST</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.datatype</groupId> 
      <artifactId>jackson-datatype-jsr310</artifactId> 
      <version>LATEST</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-devtools</artifactId> 
      <scope>runtime</scope> 
     </dependency> 
     <!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) --> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 

     <!-- Use MySQL Connector-J --> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-configuration-processor</artifactId> 
      <optional>true</optional> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io --> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>1.3.2</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-hibernate5 --> 
     <dependency> 
      <groupId>com.fasterxml.jackson.datatype</groupId> 
      <artifactId>jackson-datatype-hibernate5</artifactId> 
      <version>2.9.0.pr1</version> 
     </dependency> 

     <!-- Swagger --> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger2</artifactId> 
      <version>2.7.0</version> 
     </dependency> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger-ui</artifactId> 
      <version>2.7.0</version> 
      <scope>compile</scope> 
     </dependency> 

     <!-- Guava --> 
     <dependency> 
      <groupId>com.google.guava</groupId> 
      <artifactId>guava</artifactId> 
      <version>22.0</version> 
     </dependency> 


     <dependency> 
      <groupId>org.junit.jupiter</groupId> 
      <artifactId>junit-jupiter-api</artifactId> 
      <version>${junit-jupiter-api-version}</version> 
      <type>jar</type> 
     </dependency> 

     <dependency> 
      <groupId>org.junit.jupiter</groupId> 
      <artifactId>junit-jupiter-engine</artifactId> 
      <version>${junit.jupiter.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> 
      <exclusions> 
       <exclusion> 
        <groupId>junit</groupId> 
        <artifactId>junit</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 


    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.20</version> 
       <dependencies> 
        <dependency> 
         <groupId>org.junit.platform</groupId> 
         <artifactId>junit-platform-surefire-provider</artifactId> 
         <version>1.0.0-M4</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 

    </build> 

    <repositories> 
     <repository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 

    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-snapshots</id> 
      <name>Spring Snapshots</name> 
      <url>https://repo.spring.io/snapshot</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </pluginRepository> 
     <pluginRepository> 
      <id>spring-milestones</id> 
      <name>Spring Milestones</name> 
      <url>https://repo.spring.io/milestone</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </pluginRepository> 
     <pluginRepository> 
      <id>surefire-snapshots</id> 
      <name>Surefire Snapshots</name> 
      <url>https://repository.apache.org/snapshots/org/apache/maven/plugins/maven-surefire-plugin/</url> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories> 


</project> 
+0

你的意思是你改变了对'的assertEquals(0,0, “失败”)产生的OutOfMemoryError的报告; ? –

+0

我只是将其更改为assertEquals(0,1,“失败”); –

+0

尝试使用包装类型作为assertEquals(新的整数(0),新的整数(1),“失败”);并检查 –

回答

2
  1. 的Maven Surefire插件2.20不支持。有关详细信息,请参阅https://github.com/junit-team/junit5/issues/809。回滚到2.19.1

  2. 将JUnit(木星和平台)版本对齐整个pom.xml。有M4和M5的混合。

当我改变一个1比0,所以应该失败:测试运行:0,失败:0,错误:0,跳过:0,经过时间:0.008 s时,也不会引发应该抛出的错误信息。

测试运行:0是因为Maven的Surefire插件2.20