java的@Test方法前无执行按钮

为什么加了@Test注解的方法前面没有可以点击执行的按钮,依赖也引进来了,不知道为啥

img

img

你的测试类必须是 public 修饰的

img

谢谢啦,解决了

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7413087
  • 这篇博客你也可以参考下:java当中test对象的创建
  • 同时,你还可以查看手册:java-学习Java语言 - 描述Java编程语言的基本概念和特点的课程。-泛型是Java编程语言的一个强大功能。它们提高了代码的类型安全性,使更多的错误可以在编译时发现。-通用方法 中的内容
  • 除此之外, 这篇博客: 文本式java 文件的一些注意事项以及编译运行过程中的 错误:找不到或无法加载主类Test1 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.类文件名写错,尤其文件名与类名不一致时,要小心

    2.类文件名不在当前路径下,或者不在classpath指定路径下

  • 您还可以看一下 刘英杰老师的Java程序员面试宝典视频课程之内部类(十三)课程中的 12-01 方法内部能不能定义类?小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    对于Java中的@Test注解,它是JUnit框架中的一个注解,用于标记测试方法。在使用@Test注解标记的方法前面不会有执行按钮,这是因为@Test注解仅仅是标记了该方法是一个测试方法,并不具备执行方法的功能。要想为@Test方法添加执行按钮,可以使用JUnit框架提供的测试运行器来实现。

    JUnit框架提供了多个测试运行器,其中比较常用的有两个:JUnitCore和TextUI。下面是一种实现方式,使用JUnitCore来执行@Test方法:

    import org.junit.Test;
    import org.junit.runner.JUnitCore;
    import org.junit.runner.Result;
    import org.junit.runner.notification.Failure;
    
    public class TestRunner {
    
        public static void main(String[] args) {
            Result result = JUnitCore.runClasses(YourTestClass.class);
            for (Failure failure : result.getFailures()) {
                System.out.println(failure.toString());
            }
            System.out.println(result.wasSuccessful());
        }
    }
    
    public class YourTestClass {
    
        @Test
        public void testMethod() {
            // TODO: Write your test logic here
        }
    }
    

    在上述代码中,我们首先创建了一个TestRunner类,通过JUnitCore的runClasses方法来执行YourTestClass中的测试方法。然后,我们通过Result对象获取测试结果,并打印出每个失败的测试方法。最后,使用wasSuccessful方法来检查是否所有测试都成功执行。

    你可以将这个TestRunner类保存在与你的测试类相同的包中,然后运行TestRunner的main方法,就能够执行标记了@Test注解的测试方法了。此时,你就会看到执行按钮了。

    希望这个解决方案能够帮到你!如果有任何问题,请随时提问。