- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Exception in thread "main" java.lang.NoClassDefFoundError:
org/junit/runner/JUnitCore
at springbook.learningtest.junit.JUnitTest.main(JUnitTest.java:7)
Caused by: java.lang.ClassNotFoundException: org.junit.runner.JUnitCore
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)
... 1 more
我在 java.lang.NoClassDefFoundError in junit 中发现了类似的错误.但是我已经使用 maven
将 junit
添加到我的项目中。然后查看Maven Dependencies,发现有junit-4.12.jar。我尝试了一些不同版本的 junit
和 spring
,但我的所有尝试都失败了。下面我附上了我的代码。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TobySpring3.1</groupId>
<artifactId>TobySpring3.1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source />
<target />
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
<!-- JUNIT -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<!-- CGLIB -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>
</project>
上面是我的pom.xml
package springbook.learningtest.junit;
import org.junit.runner.JUnitCore;
public class JUnitTest {
public static void main(String[] args) {
JUnitCore.main("springbook.user.test.UserDaoTest");
}
}
.
package springbook.user.test;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import java.sql.SQLException;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import springbook.user.dao.UserDao;
import springbook.user.domain.User;
public class UserDaoTest {
@Test
public void addAndGet() throws ClassNotFoundException, SQLException {
ApplicationContext context = new GenericXmlApplicationContext("applicationContext.xml");
UserDao dao = context.getBean("userDao", UserDao.class);
User user = new User();
user.setId("gyumee");
user.setName("name");
user.setPassword("password");
dao.add(user);
User user2 = dao.get(user.getId());
assertThat(user2.getName(), is(user.getName()));
assertThat(user2.getPassword(), is(user.getPassword()));
}
}
最佳答案
令人惊讶的是,我也遇到了同样的错误日志,添加这些 hamcrest-core
解决了我的问题。
<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
来自 Here .
关于使用 JUnitCore 时出现 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48599562/
我希望以编程方式运行JUnit 4.12+,粗略搜索后发现(在许多其他类似的帖子中)this answer ,它规定了以下基本解决方案: @RunWith(Suite) @Suite.SuiteCla
我正在尝试编写一个动态运行外部类测试的方法。我能够运行仅使用 JDK 库的测试,但是当我运行使用另一个库(例如 org.jmock.Mockery)的测试时,JUnitCore.run(args) 返
我正在开发一个 Eclipse 插件,我想在其中以编程方式使用 JUnitCore 类运行 JUnitTest。但我还想检查用户 IDE 中是否存在正确的 bundle 。因此,如果用户没有 org.
我想停止/销毁一个正在运行的 JUnitCore,它以 开始 JUnitCore.run(Request.aClass(ClassToRun)); 比如 RunNotifier 上的 pleaseSt
我使用 JUnit 4 和 Eclipse JDT 来创建自动化 Mutant 测试。 以下是我的代码结构的总体概述: //Basic for loop for(int i = 0; i JUnit
我见过一些示例,显示使用 JUnitCore.runClasses(Test.class) 运行 JUnit 类。不过,在大多数 IDE 中,我们可以通过右键单击类文件并选择“Run With->JU
我有一个测试类,我正尝试使用以下代码从主方法运行: Result r = org.junit.runner.JUnitCore.runClasses(TestReader.class); 当我检查 R
是否可以使用 JUnitCore API 运行参数化测试类? 我有一个名为 Fibonacci 的待测类,一个名为 TestFibonacci 的参数化测试类,以及一个简单的 Java 类 (JUni
我想调用 JUnitCore 的 RunNotifier。 它称为 fNotifier,在 JUnitCore 类中启动。 来源: https://github.com/KentBeck/junit/
Junit 测试用例文件如下 import org.junit.Test; import static org.junit.Assert.assertEquals; public class T
如何动态构建类别过滤器并调用 JUnit 核心来运行我的测试?我正在尝试构建一个带有 main 方法的简单类,可以调用该方法来运行我的测试,但我确定这是否是一种干净的方法。 我们的想法是允许将包含项和
我正在使用 JUnitCore 的 run(junit.framework.Test test) 为 JUnit 测试用例创建自定义测试运行器并传入ClassName.suite() 。我的测试运行,
我有几个包含测试的类。我有一个使用 JUnitCore 的主要方法来运行所有测试。 我该怎么做才能在每个类(class)中运行特定测试? 目前我使用类似的东西来运行我的所有测试: Resu
我正在尝试修改以下使用 JUnit 的代码以使用 TestNG。 公共(public)类 AutotestShellRunner { static Class autotestClass; stati
我想从主类执行测试。我试过: public static void main(String[] args) { JUnitCore runner = new JUnitCore();
我有两个 junit 类: public class TestExample1 { @Test public void test() { System.out.println("r
下午好, 我正在使用 ant 在我的应用程序上运行一些 JUnit 测试。为此,我按照 Spring-MVC 分步教程中的说明进行操作。 [*] 这些说明从未提及在运行测试时调用 org.junit.
我正在使用 JUnit 5 库在 Eclipse Oxygen.1a (4.7.1a) 中工作,当我使用 JUnitCore 运行测试类时,我的注释方法似乎都没有正确运行。 例如,如果我使用 JUni
我将测试类打包到 JAR 中。我在同一文件夹中有 junit-4.10.jar 和 aJar.jar。当我尝试执行时: java -cp .:junit-4.10.jar org.junit.runn
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/runner/JUnitCore at springb
我是一名优秀的程序员,十分优秀!