我正在尝试在我的 Spring Boot 应用程序中运行 JUnit 测试,但出现如下所示的 NoClassDefFoundError。
spring-boot-starter-parent 和 spring-boot-starter-test (v2.0.5.RELEASE) 都在 pom.xml 文件中。我也添加了 spring-core (v5.0.9.RELEASE)。
显然,自 4.3.6 起,ErrorCoded 类已被弃用,因此我不确定如何找出测试运行程序(或其他库)仍在尝试加载此类的原因。
这是我的测试课:
@RunWith(SpringJUnit4ClassRunner.class)
public class SystemBuilderTest {
private System system;
@Before
public void setUp() throws Exception {
StatefulConnection conn = new StatefulConnection.Builder(null)
.build();
Device d1 = new SensingDevice.Builder("sensor1", conn)
.build();
system = new System.SystemBuilder("testSystem")
.addChildDevice(d1)
.build();
system.initialize();
}
@Test
public void testStart() throws DCFDeviceException {
system.start();
assertTrue(system.getName().equals("testSystem"));
assertTrue(system.getChildDevices().size() == 1);
assertTrue(system.getChildDevices().iterator().next().getName().equals("sensor1"));
}
}
Run Code Online (Sandbox Code Playgroud)
...和堆栈跟踪:
java.lang.NoClassDefFoundError: org/springframework/core/ErrorCoded
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1007) …Run Code Online (Sandbox Code Playgroud)