gpt4 book ai didi

java - 在 eclipse 上通过 Ant 运行简单的 JUnit 测试时出现问题

转载 作者:行者123 更新时间:2023-12-02 04:52:16 28 4
gpt4 key购买 nike

我在 eclipse 中有以下 JUnit 测试:

package test;
import org.junit.Test;
public class SimpleJUnitTest
{
@Test
public void doTest() { System.out.println("Test did run"); }
}

同一文件夹中包含以下 build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="LoggerTest" default="JUnitTest" basedir=".">
<target name="JUnitTest">
<junit>
<classpath location="../../lib/junit.jar" />
<test name="test.SimpleJUnitTest" />
</junit>
<echo>boo</echo>
</target>
</project>

如果我在“运行方式...”下运行测试类并选择 JUnit,它运行时不会出现错误。如果我在“Run As...”下运行 build.xml 并选择 Ant Build,我会得到以下输出:

Buildfile: C:\Users\995868\workspace\JUnit1\tst\test\build.xml
JUnitTest:
[junit] Test test.SimpleJUnitTest FAILED
[echo] boo BUILD SUCCESSFUL Total time: 390 milliseconds

如果我删除 JUnit 下的类路径属性,我会收到一条关于在类路径上需要 junit jar 的不同错误消息,因此我认为 JUnit 正在被调用。我只是不明白它的错误是什么。我尝试在类中放入静态 block 代码,以便在加载类时执行 System.out.println() ,但它没有出现,所以似乎我正在做一些事情配置错误。

有人可以告诉我这里出了什么问题吗?

编辑:

directory structure:
JUnit1
--bin
--test
--SimpleJUnitTest
--lib
--junit.jar
--scripts
--build.xml
--src
--tst
--test
--SimpleJUnitTest.java

我还将 build.xml 复制到 tst 并从该目录的命令行运行它,结果相同。

我已将 junit.jar 复制到 %ant_home%\lib 中,但没有任何效果,但当我从类路径中取出 pathelement 行时,我收到消息“如果不在 Ant 自己的类路径中,则 for 必须包含 junit.jar” 。我不确定“Ant 自己的类路径”在哪里指定。带有新错误消息的类路径 block 是这样的:

<classpath>
<pathelement location="c:/users/995868/apache-ant-1.9.4/lib" />
<pathelement location="../bin" />
</classpath>

我没有在任何地方使用 hamcrest 功能,所以我没有查找它并把它放进去。我试图做一个简单的例子,ant 下的 junit 文档(至少)没有提到 hamcrest是必要的。

最佳答案

我想您的 ant 类路径中缺少 hamcrest-core.jar

编辑:并且您还从类路径中丢失了测试文件类本身。因此,您需要按以下方式更新您的类路径:

<classpath>
<pathelement location="bin"/> <!--here is your test class-->
<pathelement location="lib/hamcrest-core-1.3.jar"/>
<pathelement location="lib/junit-4.12.jar"/>
</classpath>

关于java - 在 eclipse 上通过 Ant 运行简单的 JUnit 测试时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110036/

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