2017-02-25 3 views
0

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.

Antwort

1

Das Problem hier ist nicht der Parametertyp. Sie müssen einen statischen Import wie import static org.junit.Assert.assertTrue hinzufügen, um Zugriff auf die statische assertTrue Methode zu erhalten. Alternativ können Sie Assert.assertTrue(...)

anrufen