首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IBM上使用JMockit和Gradle?

如何在IBM上使用JMockit和Gradle?
EN

Stack Overflow用户
提问于 2012-04-10 01:53:24
回答 1查看 1.4K关注 0票数 4

我正在使用Gradle (里程碑8a)对我的项目和IBM运行JUnit测试,根据"Running tests with JMockit“,它要求我将参数-javaagent:jmockit.jar传递给J9。然而,JMockit没有注入模拟的参数,这会导致我的测试失败,并显示"Method (foo)应当没有参数)“。测试在HotSpot JVM上的Eclipse中运行得很好。

我已经扩展了test任务以查找JAR并将参数添加到jvmArgs,如下所示:

代码语言:javascript
复制
test {
   doFirst {
     // Don't do this until the task is actually being executed, because 
     // as soon as we call testCompile.find the configuration is resolved and 
     // can't be modified anymore.
     jMockit = project.configurations.testCompile.find {
       it.name.startsWith("jmockit-")
     }
     jvmArgs "-javaagent:${jMockit}"
   }
}

我还将JMockit和JUnit添加到testCompile配置中,确保首先使用JMockit,并通过运行gradle dependencies验证了这一点

代码语言:javascript
复制
dependencies {
  testCompile 'com.googlecode.jmockit:jmockit:0.999.13'
  testCompile 'junit:junit:4.10'
}

gradle check --debug的输出确认正在使用-javaagent参数:

代码语言:javascript
复制
12:44:14.788 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] creating process builder for Gradle Worker 1
12:44:14.788 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] in directory /home/bbobby/webapp
12:44:14.788 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#0 = -javaagent:/home/bbobby/.gradle/caches/artifacts-8/filestore/com.googlecode.jmockit/jmockit/0.999.13/jar/a6
ba457e09361f37e386edea176c5ce4fa9ee110/jmockit-0.999.13.jar
12:44:14.789 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#1 = -ea
12:44:14.789 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#2 = -cp
12:44:14.789 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#3 = /home/bbobby/.gradle/caches/1.0-milestone-8a/workerMain/classes
12:44:14.789 [DEBUG] [org.gradle.process.internal.ProcessBuilderFactory] with argument#4 = org.gradle.process.internal.launcher.GradleWorkerMain
12:44:14.816 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Started Gradle Worker 1.

我很确定我已经做了我该做的一切。为什么我的测试不能运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 03:12:41

这是http://issues.gradle.org/browse/GRADLE-2189,它已经在即将到来的1.0-rc-1中得到了修复。你今天就可以试用release candidate了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10077414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档