【问题标题】:JUnit in Visual Studio CodeVisual Studio 代码中的 JUnit
【发布时间】:2019-11-02 14:47:06
【问题描述】:

我在 Visual Studio Code 中运行 JUnit 时遇到各种问题。在我创建的所有项目中,我都遇到了两个不同的主要问题。

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

问题 2: 我已经成功地将一个最初在 eclipse 中开发的项目导入到 VS 代码中。这并不理想。这样做时,我遇到的问题是 VS Code 在 JUnit 导入方面存在问题。有时它无法识别注解 @Test 并且会尝试通过让我在程序中的导入来解决导入问题,(例如:使用 assertSame 方法时,我必须编写: org.junit.Assert.assertEquals("stringName", v1.getName);

有没有人遇到过类似的问题,或者是否有人对如何在没有 maven 或其他项目经理的情况下运行 java 项目有一些见解?我确信有办法让这项工作发挥作用,但我觉得我错过了显而易见的事情。

【问题讨论】:

    标签: java visual-studio-code


    【解决方案1】:

    要在 Visual Studio Code 中进行 Java 单元测试,我建议您满足以下要求

    一旦您有了它和新创建的 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");
        }
    
    }
    

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


    如果您无法运行它并获得结果,可能至少有两个不同的原因

    1.

    无法解析导入的org.junit

    要修复它,如果项目使用 Maven 来管理依赖项,请确保您已安装 Maven (How to install Maven in Windows 10?)。然后确保你运行了mvn installmvn package,如here 所述。

    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>
    

    【讨论】:

      【解决方案2】:

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

      • 来自 Microsoft 的 Java 扩展包
      • 来自 Microsoft 的 Java 依赖项查看器
      • Microsoft 的 Java 调试器
      • 来自 Microsoft 的 Java 测试运行程序
      • Red Hat 对 Java(TM) 的语言支持

      之后看看下面的脚本,它会创建正确的文件夹结构并正确放置 junit jar: https://github.com/siddharthbarman/Powershell/blob/master/prepare_java_project.ps1

      关于这个的博客文章在这里: https://sbytestream.pythonanywhere.com/blog/VSCode-Java-JUnit

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          2.打开.classpath文件并更改

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

          <classpathentry kind="src" path="src/test/java" output="build/classes/test">
             <attributes>
                <attribute name="test" value="true" />
             </attributes>
          </classpathentry>
          

          更多关于Unit Test的信息

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-01-27
            • 1970-01-01
            • 1970-01-01
            • 2016-12-26
            • 2018-05-01
            • 2017-02-19
            • 2021-03-28
            • 1970-01-01
            相关资源
            最近更新 更多