使用IntelliJ

时间:2018-08-26 11:10:16

标签: java intellij-idea junit teavm

我正在使用IntelliJ 2018.1,并且尝试运行TeaVM JUnit测试,但是从 CTRL + SHIFT + F10 运行测试时,将跳过以下测试:

@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专家可能都知道为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

您可以在“运行配置设置”中指定相同的-D参数。按“运行”(在Windows上为Alt + Shift + F10,在Mac上为Ctrl + Alt + R),选择运行配置,向右箭头,编辑:

Edit Configuration

然后在VM选项下指定所有-D参数:

VM options

之后,这些选项将被传递给TeaVM Runner,就像它与mvn test命令一样。

答案 1 :(得分:0)

如果您是我的新人,那么您是。我写过Junit,只想运行它们。在Eclipse中,您要测试类-> 右键单击-> run->作为junit 。像这样我们会做。它也与intellij类似。右键单击测试班级,然后运行。 如果此选项不可用,则问题可能出在 文件->项目结构->模块->源 ,此处不得将您的测试配置到回购的测试文件夹中。 因此,在 项目结构-> module->源 中,单击module中的test,然后选择test文件夹的路径。然后应用->确定。 现在,右键单击测试类可以使用“以测试方式运行”选项。