如何轻松测试java类?

时间:2010-11-02 14:58:28

标签: java eclipse

我们有一个现有的Tomcat / Linux / Servlet / Java Web服务器,但我们不再拥有开发人员。 我们有C#/ Windows代码(桌面应用程序),它与网站执行相同类型的计算/数据操作。 我正在研究为什么这两个结果略有不同。

为了实现这一点,我想编写一个小的java测试exe,它使用特定的输入数据调用代码并吐出输出+一些调试信息。

我的主要问题是,因为我是关于Java的全新手:我从哪里开始编写该exe并调用现有的类(而不是让Tomcat以某种方式调用这些类)?

我安装了一个安装了Eclipse的Ubuntu VM。 Java源代码已安装并编译。

我的问题主要涉及如何在Eclipse中设置exe程序项目并设置必要的链接来调用这些exsting类。它不是关于Java语言本身(我知道C#,毕竟它受Java的启发)

TIA,

5 个答案:

答案 0 :(得分:4)

你应该没事做一些JUnit(几乎和NUnit一样)测试。

您可以添加一个包含对其他类包的引用的新包,并为它们编写测试。

有关详细信息,您可以查看一些JUnit docs

如果你需要测试你的servlet一个简洁的方法是使用Jetty + Junit。有关此主题的更多信息可以在here

找到

答案 1 :(得分:2)

你没有在java中创建exe(尽管并非不可能),你所做的就是创建Jar文件。然后执行这些jar文件。你想要的是JUnit测试框架。

然后你可以在eclipse中编写你的测试并在eclipse中执行它们。测试将像独立应用程序一样运行。如果您更喜欢使用带有main方法的独立应用程序,您还可以编写自己的应用程序,将测试结果输出到日志记录。对于常见的日志记录解决方案,请参阅log4j,它非常易于使用。如果您认为某些内容无法正常工作,eclipse中的调试模式非常适合查询数据。

最后一点,您可能还会发现使用mockito非常有用,这意味着您可以使用集合功能模拟对象。例如,创建模拟HTTP请求或响应。​​

答案 2 :(得分:2)

Eclipse内置了对JUnit的支持,ServletTester是Java的事实单元测试工具。如果您需要支持Servlet或内置应用程序的任何Web框架,那么有一些框架可以为您模拟Web服务器。 {{3}}是其中之一。

答案 3 :(得分:0)

JUnit很好,一般

我同意JUnit和mockito是出色的起点。我非常喜欢mockito。就个人而言,我认为它是所有框架应该如何应用的一个例子 - 它易于使用,学习快速且功能强大。

但是,我建议您直接通过eclipse调查服务器。


调试更好(在这种情况下)

基本上,您可以将tomcat设置为在执行期间中断并逐步执行代码。在调试模式下,在eclipse中,您可以轻松地检查变量,运行表达式并跳过调用堆栈。当涉及到实际修复问题时,调试是可行的方法。我认为这将是确定确切原因的最佳方法您使用类似的代码获得不同的结果。


快速链接和帮助

这是一篇关于how to setup tomcat for debugging inside Eclipse.的有用博客文章,我写这篇文章是为了解决使用BlazeDS的问题,但同样的基本步骤适用于任何Tomcat安装。如果您有任何疑问,请告诉我,我可以尝试提供帮助。

希望在某种程度上有所帮助,

  • gMale

答案 4 :(得分:0)

[注意:我是OP]

感谢大家的帮助。那里有很多有见地的信息。很难将其标记为优于其他人。

我意识到我可以简单地在任何类中抛出一个main()并键入Shift + Alt + X,J来在Eclipse中执行main()。虽然非常脏,但这个解决方案也可以非常快速和简单地为一个方法或2提供一些输入数据,并将一些输出打印到控制台。

显然,它没有JUnit那么强大,但开始时肯定会更快,特别是在我的环境中,我只需要进行一些临时测试,然后丢弃所有内容。

再次感谢。