junit testSuite:ClassNotFoundException

发布于 2024-11-08 16:17:44 字数 1547 浏览 0 评论 0原文

我在 ant 中运行 junit 目标时收到以下错误代码。 EshopCoreTestSuite 是一个框架,如下所示:

public class EshopCoreTestSuite extends TestSuite {

    public static Test suite() {
        TestSuite suite = new TestSuite();          
        suite.addTestSuite(CustomerContextTest.class);
        return suite;
    }
    public static void main(String[] args) {
         TestRunner.run(EshopCoreTestSuite.class);}  }

error:

   <error message="com.bgc.EshopCoreTestSuite" type="java.lang.ClassNotFoundException">java.lang.ClassNotFoundException: com.bgc.EshopCoreTestSuite         ....        
        </error>

junit target:

<property name="COMP_TEST_SRC_DIR" location="test/java"/>
<property name="TEST_BUILD_DIR" location="build/test"/>
<property name="COMP_JAVA_SRC" location="src/java" />
<property name="COMP_BUILD" location="build" />

我只是在这里与路径感到困惑。我有 src 文件夹,在这个 java 和 test 文件夹下有 java 和测试文件。我希望我给出了更多/错误的路径。 ....

<junit printsummary="on" fork="on">
        <classpath>
        <path refid="CLASSPATH_JUNIT"/>
        <dirset dir="${TEST_SRC_DIR}"/>
        </classpath>
        <env key="app.module" path="ESW"/>
        <env key="app.env" path="DEV"/>
        <test name="com.bgc.EshopCoreTestSuite" todir="../../../BUILD/ESW/ESWBUILD/CI/REPORT" outfile="junit_report">
        <formatter type="xml"/>
        </test>
    </junit>

I am getting follwing error code for running junit target in ant. EshopCoreTestSuite is a framework as:

public class EshopCoreTestSuite extends TestSuite {

    public static Test suite() {
        TestSuite suite = new TestSuite();          
        suite.addTestSuite(CustomerContextTest.class);
        return suite;
    }
    public static void main(String[] args) {
         TestRunner.run(EshopCoreTestSuite.class);}  }

error:

   <error message="com.bgc.EshopCoreTestSuite" type="java.lang.ClassNotFoundException">java.lang.ClassNotFoundException: com.bgc.EshopCoreTestSuite         ....        
        </error>

junit target:

<property name="COMP_TEST_SRC_DIR" location="test/java"/>
<property name="TEST_BUILD_DIR" location="build/test"/>
<property name="COMP_JAVA_SRC" location="src/java" />
<property name="COMP_BUILD" location="build" />

I am just confused here with path. I have src folder and under this java and test folder for java and test files. I hope I have given more/wrong path.
....

<junit printsummary="on" fork="on">
        <classpath>
        <path refid="CLASSPATH_JUNIT"/>
        <dirset dir="${TEST_SRC_DIR}"/>
        </classpath>
        <env key="app.module" path="ESW"/>
        <env key="app.env" path="DEV"/>
        <test name="com.bgc.EshopCoreTestSuite" todir="../../../BUILD/ESW/ESWBUILD/CI/REPORT" outfile="junit_report">
        <formatter type="xml"/>
        </test>
    </junit>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

下雨或天晴 2024-11-15 16:17:44

尝试

 <dirset dir="${TEST_SRC_DIR}"/>

更改为:

 <dirset dir="${TEST_BUILD_DIR}"/>

部分中的: 。类路径必须包含构建的类,而不是源文件。如果您的类生成到 .../src/java,则使用 ${COMP_JAVA_SRC} 代替。 (但这有点不标准。)

关键是这个 dirset 变量必须指向 .class 文件所在的根目录。

Try changing:

 <dirset dir="${TEST_SRC_DIR}"/>

to:

 <dirset dir="${TEST_BUILD_DIR}"/>

in that <junit> section. The classpath must contain built classes, not source files. If your classes are being generated to .../src/java, then use ${COMP_JAVA_SRC} instead. (But that's a bit non-standard.)

The point is that this dirset variable must point to the root of where your .class files are located.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文