Ich bin mit den folgenden JUnit-Tests in meinem Gradle Plugin:Groovy und 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)
}
}
Allerdings bin ich die folgende Fehlermeldung bekommen, es ist im Wesentlichen die gleiche sowohl für den anderen Test):
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)
Warum erkennt die Assert-Methode nicht, dass true
ein boolescher Wert ist? Dieser Code funktioniert auch, wenn ich in jeder Testmethode eine neue testProject
deklariere und initialisiere. Nicht sicher, warum es so funktioniert, aber nicht das.