当前位置: 首页 > 知识库问答 >
问题:

在Eclipse中“找不到JUnit测试”

洪楷
2023-03-14

所以我是JUnit的新手,我们必须用它来做家庭作业。我们的教授给了我们一个有一个测试类balltest.java的项目。当我右键单击>Run as>JUnit Test,我会弹出一个错误,上面写着‘找不到JUnit tests’。我知道这里已经回答了这个问题(没有找到测试运行程序'JUnit4'的测试),但是关闭eclipse、重新启动、清理和构建似乎不起作用。下面是我的运行配置、构建路径和我试图测试的类的截图。

balltest.java

import static org.junit.Assert.*;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 

public class BallTest {

Ball ball;

/**
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
    System.out.println("Setting up ...");
    Point2D p = new Point2D(0,0);
    ball = new Ball(p);
}

/**
 * @throws java.lang.Exception
 */
@After
public void tearDown() throws Exception {
    System.out.println("Tearing down ...");
    ball = null;
}

/**
 * Test method for {@link Ball#getCoordinates()}.
 */
@Test
public void testGetCoordinates() {
    assertNotNull(ball); // don't need Assert. because of the import statement above.
    Assert.assertEquals(ball.getCoordinates().getX(), 0);
    Assert.assertEquals(ball.getCoordinates().getY(), 0);
}

/**
 * Test method for {@link Ball#setCoordinates(Point2D)}.
 */
@Test
public void testSetCoordinates() {
    Assert.assertNotNull(ball);
    Point2D p = new Point2D(99,99);
    ball.setCoordinates(p);
    Assert.assertEquals(ball.getCoordinates().getX(), 99);
    Assert.assertEquals(ball.getCoordinates().getY(), 99);
}

/**
 * Test method for {@link Ball#Ball(Point2D)}.
 */
@Test
public void testBall() {
    Point2D p = new Point2D(49,30);
    ball = new Ball(p);
    Assert.assertNotNull(ball);
    Assert.assertEquals(ball.getCoordinates().getX(), 49);
    Assert.assertEquals(ball.getCoordinates().getY(), 30);

    //fail("Not yet implemented");
}

public static void main (String[] args) {
         Result result = JUnitCore.runClasses(BallTest.class);
         for (Failure failure : result.getFailures()) { 
                System.out.println(failure.toString()); 
            } 
        System.out.println(result.wasSuccessful());  
}

}

共有1个答案

符鸿光
2023-03-14

右键单击Project>Properties>Java Build Path>Add the Test folder as source folder。

包括测试类在内的所有源代码文件夹都需要在Eclipse Java构建路径中。以便可以将main和test类等源编译到build目录中(Eclipse默认文件夹是bin)。

 类似资料:
  • 我使用的是Eclipse Oxygen.3版本(4.7.3)。以下是我的JUnit测试类: 当我运行这个JUnit测试时,eclipse不断弹出对话框,告诉“在测试运行程序'JUnit 5'中找不到测试”。为什么?

  • 我用的是Kubuntu 18.04 每当我在Eclipse中的Gradle项目中创建一个新的JUnit测试用例,并且当我单击:Test.java->Run As->JUnit Test时,这个测试文件将转到src/Test/java Gradle项目捕获 未找到JUnit测试的消息

  • 经过一些谷歌搜索,我没有找到什么地方,决定玩一下,发现如果我执行所有测试,它会运行良好,即使当我改变类名以匹配文件名时,它也会工作。是否有一种方法可以配置Eclipse/JUnit,使其能够在与文件名不匹配的groovy类上运行测试? HelloWorld.groovy:

  • 我已经从https://howtodoinjava.com/spring-batch/java-config-multiple-steps/'复制了Spring批处理程序。 我从https://docs.spring.io/spring-batch/docs/current/reference/html/testing.html创建了以下JUnit测试用例: 我的Maven pom文件是: 谢谢

  • 我在Ant构建脚本中使用JUnit5控制台。但是,它在我的项目中找不到任何测试。 我在终端中使用了以下命令: 其返回: 我得到了与Ant脚本相同的输出:

  • 问题内容: 我在Mac上配置了Junit-4.11,编译时没有错误,但是当我运行时,我得到了 这是我和 和我一起 和 我得到的是 我用和放在当前目录中,也把它放在/ Library / Java / Extensions中 我试图解决的问题是设置and ,但是没有用。 有人可以指出出什么问题了吗?我真的很困惑。 谢谢。 好吧,我已经通过以下步骤解决了我的问题。我的Mac是Mac OSX 10.8,