Java VisualStudio代码中的JUnit

Java VisualStudio代码中的JUnit,java,visual-studio-code,Java,Visual Studio Code,我在VisualStudio代码中运行JUnit时遇到各种各样的问题。在我创建的所有项目中,我遇到了两个主要的问题,它们并不是同时存在的 问题1:创建并运行Java项目后,如果我尝试添加JUnit测试类,程序将找不到该类/测试。我应该看到运行或调试测试的选项,但没有弹出这样的选项。另外,当我单击TestExplorer选项卡时,我没有看到列出的测试类,但它在project文件夹中 问题2:我成功地将eclipse中首先开发的项目导入到VS代码中。这并不理想。在执行此操作时,我遇到的问题是VS代码

我在VisualStudio代码中运行JUnit时遇到各种各样的问题。在我创建的所有项目中,我遇到了两个主要的问题,它们并不是同时存在的

问题1:创建并运行Java项目后,如果我尝试添加JUnit测试类,程序将找不到该类/测试。我应该看到运行或调试测试的选项,但没有弹出这样的选项。另外,当我单击TestExplorer选项卡时,我没有看到列出的测试类,但它在project文件夹中

问题2:我成功地将eclipse中首先开发的项目导入到VS代码中。这并不理想。在执行此操作时,我遇到的问题是VS代码在JUnit导入方面存在问题。有时,它无法识别注释@Test,并将尝试通过让我在程序中进行导入来解决导入问题(例如:使用assertSame方法时,我必须编写:
org.junit.Assert.assertEquals(“stringName”,v1.getName);


有没有人遇到过类似的问题,或者有没有人对如何在没有maven或其他项目经理的情况下运行java项目有一些见解?我肯定有办法做到这一点,但我觉得我忽略了显而易见的问题。

1.确保您安装了Java Test Runner扩展

2.打开
.classpath
文件并更改

<classpathentry kind="src" path="src/test/java" />



您根本不需要.classpath文件。只需确保已安装以下插件即可:

  • 来自Microsoft的Java扩展包
  • 来自Microsoft的Java依赖项查看器
  • 来自Microsoft的Java调试器
  • 来自微软的Java测试运行程序
  • Red Hat对Java(TM)的语言支持
在此之后,看一下以下脚本,它创建了正确的文件夹结构并正确放置了junit jar:

这篇文章的博文如下:

要在Visual Studio代码中进行Java单元测试,我建议您具备以下要求

  • JDK 11
一旦你有了它和你新创建的Java项目,你应该知道总是要把生产代码和测试代码分开。为此,只需在
src
的相同位置创建一个
Test
文件夹

一旦你有了这个文件夹,创建一个
SomethingTest.java
文件

import static org.junit.Assert.fail;

import org.junit.Test;

public class NgramTest {
    
    @Test 
    void test() {
        fail("Not yet implemented");
    }

}

当您单击“运行测试”时,您应该会收到一条“尚未实现”消息


如果您无法运行该程序并获得结果,可能是因为至少两个不同的原因

一,

无法解析导入org.junit

要修复它,如果项目使用Maven来管理依赖项,那么请确保安装了Maven()。然后确保运行了前面提到的
mvn install
mvn package

二,

SomethingTest.java不在项目名称的类路径上,只报告语法错误

若要修复它,请将该文件夹添加到项目根目录中的.classpath

<classpathentry kind="src" output="target/test-classes" path="test">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="test" value="true"/>
    </attributes>
</classpathentry>

从0.24版更新到Java测试运行程序0.24.2版后出现此错误。我正在使用0.64.1版的“Red Hat对Java的语言支持”和“Java的调试器”。更新后,我在“测试”中看不到任何junit测试-选项卡,无法从IDE中启动它们。降级回0.24和0.64.1解决了此问题

<classpathentry kind="src" output="target/test-classes" path="test">
    <attributes>
        <attribute name="optional" value="true"/>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="test" value="true"/>
    </attributes>
</classpathentry>