2

我必须在预编译的二进制 .class 文件上运行一些 JUnit 测试(在此之上没有 main() 函数的文件)。

我无论如何都不是 Java 菜鸟,但这是我第一次不得不处理这种情况——编译的二进制文件中没有 main(那么我将如何在编译的代码中执行方法??) ,试图以某种方式调用我正在制作的 JUnit 测试用例中的方法,试图让 Eclipse 甚至承认存在 main()-less 二进制文件......编译的 .class 文件也是包的一部分(假设这个包叫做xyz)......我以前从来没有处理过这个。

如果我不能通过 Eclipse 做到这一点,我将如何在命令行上使用 Ant ???我以前制作过 build.xmls,但不是为了这样的东西。

4

1 回答 1

2

希望您拥有需要测试的 API。创建一个新的 Eclipse 项目,创建一些“binsource”文件夹,并在“Java Build Path”选项卡“Libraries”下的项目设置中,选择“添加类文件夹”,然后将此文件夹添加到项目类树中。在那里添加 JUnit 库。

现在只需在必须作为源添加的源文件夹“src”中编写 JUnit 测试类(标准设置)。JUnit 类应该编译,发现 binsource 文件夹中的类。然后只需右键单击项目根目录并选择“作为 JUnit 测试运行”。无需在任何地方使用 main(),但如果出于某种原因需要,您可以在源代码中定义它。

在更困难的情况下,您甚至没有适当的 API,请尝试使用 Eclipse(文件->打开)打开 binsource 类。这应该打开反编译器视图。它允许查看有哪些方法。

于 2013-02-18T06:36:25.107 回答