java - 如何在 java eclipse 中使用 Junit 5 运行 RunWith?
问题描述
我想在 Junit 5 中用几个类运行 @RunWith 并附加我所做的依赖项以及代码,但只有一个类正在运行 = someTest,我在这里错过了什么?
类一些测试
import org.junit.jupiter.api.Test;
import org.junit.platform.suite.api.SelectClasses;
@RunWith(JUnitPlatform.class)
@SelectClasses( { Something.class, someTest.class } )
public class someTest {
@Test
public void sadsadas() {
System.out.println("these is the runWith");
}
}
上课
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
public class Something {
Logger logger = Logger.getLogger("");
FileHandler fh;
@BeforeEach
public void wallad() {
System.out.println("hello");
}
@AfterEach
public void asddf() {
System.out.println("pizza");
}
@Tag("test")
@Test
public void some() {
try {
fh = new
FileHandler("C:\\Users\\tester\\Desktop\\MyLogFile.txt");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
} catch (Exception e) {
e.printStackTrace();
}
logger = Logger.getLogger(Logger.class.getName());
logger.setLevel(Level.ALL);
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.ALL);
logger.addHandler(handler);
logger.setUseParentHandlers(false);
System.out.println("test1");
logger.log(Level.WARNING, "warning");
System.out.println("test2");
logger.log(Level.INFO, "information");
System.out.println("test3");
logger.log(Level.SEVERE, "severe");
System.out.println("test4");
logger.log(Level.FINEST, "finest");
System.out.println("test5");
logger.log(Level.FINE, "fine");
System.out.println("test6");
logger.log(Level.FINER, "finer");
System.out.println("test7");
logger.log(Level.FINEST, "finest");
}
}
这些是附加到 Maven 的依赖项
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.4.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-console-standalone</artifactId>
<version>1.4.0-M1</version>
</dependency>
我在 runWith 方面错过了什么?或者在junit5中我只需要写:
@SelectClasses( { Something.class, someTest.class } )
我正在运行 Eclipse Jee 2018-09
解决方案
重命名Something.class
为SomethingTest.class
它会起作用。
@SelectClasses({ SomethingTest.class, someTest.class })
推荐阅读
- java - Kotlin 如何推断 Java 方法参数可空性?
- javascript - 如何将旧的 Botchat.js 升级到 botchat-es5 版本?
- python - 将 groupby 子级别转换为 pandas/python 列
- maven - 将工件部署到没有文件扩展名的 Maven 存储库
- android - 验证用户(电子邮件地址)是否从 Google Play 商店购买了我的应用
- angular - 数据未从子组件角度 8 传递给父级
- mysql - 获取未读消息的计数
- postgresql - 在 postgresql 中创建序列时如何传递一个大整数?
- node.js - 在 Node.js 中创建频谱图
- html - 对齐html中的输入文本框