0
我运行下面的JUnit测试在我的摇篮插件:的Groovy和JUnit
import org.junit.*
import org.gradle.testfixtures.ProjectBuilder
import org.gradle.api.Project
public class UmpleIntegrationTests {
private static Project testProject
@Before
public void setUp() {
testProject = ProjectBuilder.builder().build()
testProject.plugins.apply 'umple.gradle.plugin'
}
@Test
public void umpleApplyPluginToProject() {
assertTrue(testProject.getPlugins().hasPlugin('umple.gradle.plugin'))
}
@Test
public void umplePluginAddsTaskToProject() {
assertTrue(testProject.tasks.getByName('generateSource') != null)
}
}
不过,我发现了以下错误它本质上两者的其他测试相同):
UmpleIntegrationTests > umplePluginAddsTaskToProject FAILED
groovy.lang.MissingMethodException: No signature of method: UmpleIntegrationTests.assertTrue() is applicable for argument types: (java.lang.Boolean) values: [true]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:81)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at UmpleIntegrationTests.umplePluginAddsTaskToProject(UmplePluginIntegrationTests.groovy:21)
为什么assert方法不知道true
是一个布尔值?此外,如果我在每种测试方法中声明并初始化一个新的testProject
,此代码将起作用。不知道它为什么这样工作,但不是这样。