我目前正在研究一个 Java 库——也就是说,一堆专门用于其他项目的类。自然,它没有 main() 函数。
现在,我想测试我的进步。我所说的“测试”并不是指一些专业的标准化系统;我的意思是我有一个非常简单的函数,我想运行它来收集信息,随着项目变得更加完整,它将被修改。
我希望我可以将一个可执行类放到 Test Packages 文件夹中,然后单击 Run。不幸的是,NetBeans 抱怨找不到主类。
那么,如何在不向我的可分发源添加可执行类的情况下测试库项目呢?
您绝对应该研究单元测试框架,例如JUnit。IDE 通常支持轻松运行测试,看起来 Netbeans 也支持。(我自己不使用 Netbeans,但如果它不支持 JUnit,我会感到震惊。)这样做比到处都有方法要简单得多。main
毕竟,一个main
方法只会通过你的代码测试一条路线——通过单元测试,你可以有很多测试,每个测试一小段代码。
即使您不想以完全成熟的方式进行单元测试(顺便说一句,我强烈建议您这样做),单元测试也可以是一种非常简单的方法,只需运行一些代码并进行试验. 我有时会在第一次针对 3rd 方库进行开发时使用它——让单元测试显示和记录我对库行为的理解。(显然,图书馆及其文档越好,对此的需求就越少,但它仍然很有用......)
我在 Netbeans 中广泛使用了 JUnit 和 CPPUnit,发现使用这些工具很容易获得库的测试覆盖率。IntelliJ IDEA 在 JUnit 方面也做得不错,因此如果您不喜欢 Netbeans 界面,这是一个选择。xUnit 框架让我多次摆脱困境,因为它们非常擅长快速隔离错误。正如 Jon 所说,它们还有助于捕获系统的需求/行为,这是一个额外的好处。