Sal*_*lly 10 java visual-studio-code
我在 Visual Studio Code 中运行 JUnit 时遇到了各种各样的问题。我有两个主要问题,它们在我创建的所有项目中都不共存。
问题 1:创建并运行 Java 项目后,如果我尝试添加 JUnit 测试类,程序找不到该类/测试。我应该看到一个选项来运行或调试我的测试,但没有弹出这样的选项。此外,当我单击测试资源管理器选项卡时,我没有看到列出的测试类,但它位于项目文件夹中。
问题 2:我将一个最初在 eclipse 中开发的项目导入到 VS 代码中取得了一些成功。这并不理想。这样做时,我遇到的问题是 VS Code 在 JUnit 导入方面存在问题。有时它无法识别 @Test 注释,并会尝试通过让我在程序中进行导入来解决导入问题,(例如:使用 assertSame 方法时,我必须编写:
org.junit.Assert.assertEquals("stringName", v1.getName);
Has anyone had similar problems, or does anyone have some insight on how to run a java project without a maven or another project manager? I'm sure there is a way to make this work, but I feel like I'm missing the obvious.
要在 Visual Studio Code 中进行 Java 单元测试,我建议您满足以下要求
一旦您拥有了该项目和新创建的 Java 项目,您应该知道始终将生产代码与测试代码分开。为此,只需test在与 相同的位置创建一个文件夹src。
拥有该文件夹后,创建一个SomethingTest.java类似的文件
import static org.junit.Assert.fail;
import org.junit.Test;
public class NgramTest {
@Test
void test() {
fail("Not yet implemented");
}
}
Run Code Online (Sandbox Code Playgroud)
当您单击“运行测试”时,您应该收到“尚未实施”消息
如果您无法运行该程序并获得结果,可能至少有两个不同的原因
1.
导入org.junit无法解析
要修复此问题,如果项目使用 Maven 来管理依赖项,请确保您已安装 Maven(如何在 Windows 10 中安装 Maven?)。然后确保您运行了mvn installor mvn package,如此处所述。
2.
SomethingTest.java 不在项目 PROJECT_NAME 的类路径上,仅报告语法错误
要修复此问题,请将该文件夹添加到项目根目录中的 .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>
Run Code Online (Sandbox Code Playgroud)
Leo*_*SFT -1
1.确保您已经安装了Java Test Runner扩展
2.打开.classpath文件并更改
<classpathentry kind="src" path="src/test/java" />
Run Code Online (Sandbox Code Playgroud)
到
<classpathentry kind="src" path="src/test/java" output="build/classes/test">
<attributes>
<attribute name="test" value="true" />
</attributes>
</classpathentry>
Run Code Online (Sandbox Code Playgroud)
有关单元测试的更多信息