我有一个Java junit测试,该测试在开发机器上单独运行时可以通过。我们还有一个hudson作业,它可以在具有Java 1.5的Mac OS X
10.4节点上运行通过ant调用的所有测试。该测试直到最近才通过hudson版本,但是现在(没有相关的代码更改),每次测试都失败,并出现以下错误:
错误信息
分叉的Java VM异常退出。请注意,报告中的时间并不反映虚拟机退出之前的时间。
堆栈跟踪
junit.framework.AssertionFailedError:分叉的Java
VM异常退出。请注意,报告中的时间并不反映虚拟机退出之前的时间。
谷歌搜索显示许多其他人似乎也遇到了相同的问题,但是我找不到任何答案。
我遇到了类似的问题。我将junit测试作为一项蚂蚁任务来运行。我添加了 showoutput =“ yes” ant junit属性,并运行了ant
junit任务。然后,它显示了导致分叉的jvm退出的异常堆栈跟踪。
问题内容: 我对JUnit还是很陌生,我真的不知道对于异常和异常处理有什么最佳实践。 例如,假设我正在为IPAddress类编写测试。它具有一个构造函数IPAddress(String addr),如果addr为null,则将抛出InvalidIPAddressException。据我可以从谷歌搜索中得知,对null参数的测试将如下所示。 在这种情况下,try / catch很有意义,因为我知道异
我正试图为一个方法编写一个测试用例,该方法基于特定的逻辑抛出异常。然而,测试用例失败了,因为预期的异常和获得的异常是不同的。 我如何解决这个问题?
我构建了一个有3个属性的帐户类:余额、所有者、acctNo。帐户类有2个构造函数,一个接受3个属性,一个不接受数据。帐户类有设置和获取方法以及存款和取款方法。 我还构建了一个类,该类从类扩展而来。将此类修改为类后,取款方法或此方法尝试将余额设置为零以下,将抛出。 JUnit测试人员修改测试方法,将尝试提取超过当前余额的可用,所以做测试方法。我需要修改JUnit测试透支帐户,以便它捕获异常,并捕获。
问题内容: 我真的是java的新手。 我正在构造函数上运行一些JUnit测试。构造函数是这样的:如果为其参数之一赋予null或空字符串,则应该抛出异常。 当我在JUnit中使用null或空字符串参数测试此构造函数时,即使我几乎100%确信将此类参数传递给它时,构造函数方法确实会引发异常,我也会看到一条红色的条。 如果该方法以预期的方式引发异常,则JUnit中是否应该没有绿色的条形?还是当异常抛出按
问题内容: 编辑:目前没有JUnit 4。 嗨,您好, 我对使用JUnit进行“智能”异常测试有疑问。目前,我这样做是这样的: 如您所见,对于每个应该引发异常的函数,我都需要一个try / catch块。似乎不是执行此操作的好方法-还是没有可能减少try / catch的使用? 问题答案: 我建议您需要分解为多个单独的测试。各个try / catch块似乎彼此非常独立。您可能还希望将通用初始化逻辑
我应该如何测试异常?我可以mock connector并且我可以赋予它抛出异常的行为,但是我不明白下一步该怎么做。