【问题标题】:VSCode not finding unit testsVSCode 找不到单元测试
【发布时间】:2019-05-21 18:41:28
【问题描述】:

由于某种原因,我的 VSCode 没有在“测试资源管理器”中找到我的单元测试。它能够找到类,但不能找到类中的任何方法。我认为我的 vscode 设置中一定有一些错误配置,但不确定是什么。

下面是我正在尝试运行的类的存根。

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
    }

【问题讨论】:

  • 如果您使用 Java 编程,我强烈建议您尝试 Eclipse(我的偏好)或 IntelliJ 或 NetBeans。
  • 是的,我也想尽量减少使用 java 的时间。我主要用 GO 编写,但我需要在 java 中组合一个微服务。希望使用相同的工具,但事实证明比我预期的更具挑战性。不过,运行测试似乎是 IDE 的基础。可能会沿着日食路线走。
  • VSCode 是我在 Linux 上的 Angular 和 dotNet Core 之类的选择; Eclipse for Java(包括 Java/Spring Boot Web 服务)。建议:也许像 Eclipse GoLang 插件之类的东西可能会给你一个“无处不在的 IDE”:marketplace.eclipse.org/category/free-tagging/golang
  • 是的,我为 Java 设置了 Eclipse,它运行良好。我绝不会为了我的其他开发而放弃 VSCode。使用 eclipse 多年,我真的很感激切换到 VScode。 Golang、K8s、Docker 和 GRPC 集成在 VSCode 上非常流畅。我不会做那么多java,所以拥有两个ide并不是世界末日。感谢您的帮助。
  • 我也喜欢 VSCode。一问:默认的“黑色背景”到底是怎么回事?我认为当史蒂夫乔布斯介绍 Mac 并且人们停止购买 VT100 终端时,黑底白字已经死了?

标签: java junit visual-studio-code vscode-settings


【解决方案1】:

我也遇到了同样的问题。我所有的测试类都没有用“运行测试”和“调试测试”注释。 我通过以下方式修复了 vs 代码中的问题:

在我的 Java 项目概述中的 vs 代码(在带有打开的编辑器等的资源管理器部分中)单击“更多操作”按钮(三个点)。

点击:“清理工作区”

接受提示:

【讨论】:

    【解决方案2】:

    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的信息

    【讨论】:

    • upvote...你能指出这个配置更改的确切位置吗?
    【解决方案3】:

    你可以使用 JUnit 4 的注解:

    AppTest.java

    public class AppTest {
        @Test
        public void testApp() {
            assertTrue( true );
        }
    }
    

    SuiteClass.java

    @RunWith(Suite.class)
    @SuiteClasses({AppTest.class})
    public class SuiteClass {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 2016-08-02
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多