运行JUnit 出现找不到测试类的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行JUnit 出现找不到测试类的问题相关的知识,希望对你有一定的参考价值。

Class not found com.courses.test.CourseMessageDaoImplTest
java.lang.ClassNotFoundException: com.courses.test.CourseMessageDaoImplTest
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:425)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
怎么找不到测试类呢?

参考技术A ass Book
public String name;
public String author;
private int availNum;

public Book()
this("", "", 0);


public Book(String name, String author, int availNum)
this.name = name;
this.author = author;
this.availNum = availNum;


public int getAvailNum()
return availNum;


public void setAvailNum(int availNum)
this.availNum = availNum;


public boolean subscribe()
if (availNum > 0)
availNum--;
return true;

return false;


public boolean cancelSubscribe()
availNum++;
return true;



/** Book类的单元测试类 */
import junit.framework.TestCase;

public class TestBook extends TestCase

public void testBook()
Book book = new Book("Thinking in Java", "Bruce Eckel", 3);
assertEquals(true, book.subscribe());// 第一次预借,应该是成功的
assertEquals(2, book.getAvailNum());// 此时的可预借数是2
assertEquals(true, book.cancelSubscribe());// 取消预借,应该是成功的
assertEquals(3, book.getAvailNum());// 此时的可预借数是3
book.setAvailNum(0);// 将可预借数设为0
assertEquals(false, book.subscribe());// 此时预借,应该是不成功的


public static void main(String[] args)
junit.textui.TestRunner.run(Book.class);


上面的测试类可以不要main函数,直接在集成开发环境里用JUnit执行单元测试。本回答被提问者采纳

以上是关于运行JUnit 出现找不到测试类的问题的主要内容,如果未能解决你的问题,请参考以下文章

运行 JUnit 测试时找不到类异常

SpringBoot测试类没办法运行

Maven/Surefire 找不到要运行的测试

IDEA 找不到测试类:Process finished with exit code 1 Class not found

Eclipse NoClassDefFoundError 导致 LauncherFactory 找不到使用 JUnit 5 的测试

使用 h2 进行 Spring Junit 测试 - 找不到表