Java 使用IntelliJ运行JUnit测试
我正在使用IntelliJ 2018.1,我正在尝试运行JUnit测试,但从CTRL+SHIFT+F10运行测试时,会跳过测试:Java 使用IntelliJ运行JUnit测试,java,intellij-idea,junit,teavm,Java,Intellij Idea,Junit,Teavm,我正在使用IntelliJ 2018.1,我正在尝试运行JUnit测试,但从CTRL+SHIFT+F10运行测试时,会跳过测试: @RunWith(TeaVMTestRunner.class) @SkipJVM @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class ShapeTest { static final Logger logger = Logger.getLogger(ShapeTest.class.getNam
@RunWith(TeaVMTestRunner.class)
@SkipJVM
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ShapeTest {
static final Logger logger = Logger.getLogger(ShapeTest.class.getName());
@Rule
public final ExpectedException exception = ExpectedException.none();
@Test
public void testGet() {
System.out.println("ShapeTest - testGet");
String response = Shape.get("https://httpbin.org/get")
.header("accept", "application/json")
.header("Content-Type", "application/json")
.asJson();
JSONObject json = new JSONObject(response);
String url = json.getString("url");
JSONObject headers = json.getJSONObject("headers");
assertNotNull(json);
assertNotNull(url);
assertNotNull(headers);
System.out.println(json.toString());
}
}
但当使用下面的命令从终端运行时,它可以工作:
mvn test -Dteavm.junit.target=target/js-tests -Dteavm.junit.js.runner=h
tmlunit -Dteavm.junit.js.threads=2
这里的任何IntelliJ/JUnit专家都可能知道为什么会发生这种情况 如果你像我一样是intellij的新手。我写了junits,只想运行它们。在eclipse中,您可以转到TestClass->右键单击->运行->作为junit。有点像这样。它在intellij中也类似。转到测试类右键单击并作为junits运行。 如果没有这样的选择,那么问题可能在于 文件->项目结构->模块->来源此处您的测试不能配置到repo的测试文件夹中。 因此,在项目结构->模块->源中单击模块中的测试,然后选择测试文件夹的路径。然后应用->确定。
现在,右键单击测试类将提供运行方式测试选项。您可以在运行配置设置中指定相同的
-D
参数。按“运行”(Windows上按Alt+Shift+F10,Mac上按Ctrl+Alt+R),选择您的运行配置,向右箭头,编辑:
然后在VM选项下指定所有-D
参数:
之后,选项将被传递给TeaVM Runner,就像它与
mvn test
命令一起工作一样。当您选择类并从上下文菜单中选择“运行测试”时会发生什么?test被忽略。
这是日志中显示的跳过jvm的内容?除此之外,我想这可能是intellij中不起作用的东西。我会转到他们的产品论坛,在那里提问。你经常会在几个小时内收到他们支持团队的回复。也许不是在星期天。。。