使用JMockIt编写测试用例来模拟复杂行为。当使用eclipse执行测试用例时,Mocking正如预期的那样工作。
但是当使用ANT执行测试用例时,模拟不能按预期工作,因为模拟方法会抛出异常。
在Ant构建脚本中使用launchJunit task而不是junit任务来执行Junit测试用例。
根据分析,根本原因似乎是构建脚本启动JRE来执行测试用例而JRE没有tools.jar文件。我在我的应用程序类路径中添加了tools.jar文件,但问题仍未解决。
Java home指向更正JDK但是根据ant诊断工具java home是%JAVA_HOME%/ jre。 属性env.JAVA_HOME =%JAVA_HOME%正确JDK 物业java.home =%JAVA_HOME%/ jre
我获得了大部分提示来解决junit任务的问题,但没有遇到任何launchJunit任务的解决方案。
我对问题的理解是否正确以及如何解决问题?
答案 0 :(得分:0)
我也遇到了你的情况。当我在junit eclipse插件中运行jmockit时,它可以工作。但是切换到ant任务,它在junit任务中停止,没有错误,也没有信息。所以我检查了ant xml和eclipse junit lancher中的所有classpath和environment变量。当我使它们相同的配置时,它变得没问题!我想你可以尝试一下,只需检查两种情况下的类路径和变量。