尝试使用 @RunWith 运行 JUnit 测试时出现初始化错误

时间:2020-12-21 08:52:01

标签: java junit

我是 Java 新手,目前正在学习 JUnit。

我创建了一个新项目。然后项目中的测试类很少。他们都通过了 JUnit 测试。

我现在正在尝试理解 JUnit 中的 @RunWith。

我创建了一个 JUnit 测试套件。称之为 AllTestsOneTest。代码如下:

package maventest2;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({firstTest.class, testerclass2Test.class})
public class AllTestsOneTest {
        

}

当我现在尝试使用运行方式运行测试时 -> JUnit 测试。我收到两个测试类的初始化错误。在故障跟踪中,它说“没有可运行的方法”。

两个类都有用@Test 标记的方法。

pom.xml 文件:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.taskone</groupId>
  <artifactId>maventest2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <build>
  <plugins>
   <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <includes>
                        <include>%regex[.*Test.*]</include>
                    </includes>
                </configuration>
            </plugin>
  
    
  </plugins>
    
  
  </build>
  
  <dependencies>
  <dependency>
  <groupId>junit</groupId>     <!-- NOT org.junit here -->
  <artifactId>junit-dep</artifactId>
  <version>4.8.2</version>
  <scope>test</scope>
 </dependency>
 
 <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>
 
 
  </dependencies>
</project>

其中一个测试类的代码:

package maventest2;

//import org.junit.Test;
import org.junit.jupiter.api.Test;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Tag;
    
public class firstTest {
    
@Tag("FirstTests")
@DisplayName("This is the first group test I working on")
    
@Test

public void someTest() {
    
    System.out.println("This in some test running");
        
}

}

请指教。

0 个答案:

没有答案