gpt4 book ai didi

java - 带有 JAR 文件的 JUnit NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-30 04:40:49 24 4
gpt4 key购买 nike

我开发了一个 Android 应用程序,我现在正在为其创建单元测试。我创建了第二个项目(以“.test”作为项目名称后缀)并选择了原始项目作为目标。

我的原始项目包含一些外部 JAR 文件。

如果不在我的测试项目的构建路径中引用这些 JAR 文件,我就无法访问我的测试中的所有方法。例如,我收到此错误:

The type com.j256.ormlite.android.apptools.OrmLiteBaseService cannot be resolved. It is indirectly referenced from required .class files

测试确实可以正常工作(当不访问这些方法时)。

如果我在测试项目的构建路径中包含所需的 JAR 文件,则会出现此错误:

05-16 15:59:03.732: INFO/TestRunner(1222): java.lang.NoClassDefFoundError: sw6.visualschedule.persistence.DatabaseHelper
05-16 15:59:03.732: INFO/TestRunner(1222): at sw6.visualschedule.test.ScheduleActivityTest.setUp(ScheduleActivityTest.java:22)
05-16 15:59:03.732: INFO/TestRunner(1222): at junit.framework.TestCase.runBare(TestCase.java:125)
05-16 15:59:03.732: INFO/TestRunner(1222): at junit.framework.TestResult$1.protect(TestResult.java:106)
05-16 15:59:03.732: INFO/TestRunner(1222): at junit.framework.TestResult.runProtected(TestResult.java:124)
05-16 15:59:03.732: INFO/TestRunner(1222): at junit.framework.TestResult.run(TestResult.java:109)
05-16 15:59:03.732: INFO/TestRunner(1222): at junit.framework.TestCase.run(TestCase.java:118)
05-16 15:59:03.732: INFO/TestRunner(1222): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
05-16 15:59:03.732: INFO/TestRunner(1222): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
05-16 15:59:03.732: INFO/TestRunner(1222): at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
05-16 15:59:03.732: INFO/TestRunner(1222): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

如何解决 NoClassDefFoundError?我真的很困惑,因为它指的是我项目中的一个类,并且当外部 JAR 文件不包含在构建路径中时它可以工作。

我在 OSX 上使用 Eclipse,如果有任何影响的话。

最佳答案

将这些库导出到测试项目,但在测试项目中引用它们

关于java - 带有 JAR 文件的 JUnit NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com