2015-01-12 2 views
0

일반적으로 build.gradle 파일에있는 Extension 객체를 통해 구성된 사용자 정의 Gradle 플러그인을 테스트하려고합니다.사용자 정의 Gradle 플러그인 테스트 : 구성 데이터 제공

def config = project.extensions.create('foobarConfig', FooBarConfig) 

그것은 불분명 : 제가 적용 방법이 작업을 수행하는 코드가 내 사용자 정의 플러그인 클래스에서

{ 
    apply plugin: 'foobarConfigurator' 

    [... stuff ...] 

    foobarConfig { 
    bar = 'boop' 
    baz = 'baap' 
    bot = 'faab' 
    } 

    [... stuff ...] 
} 

:

예를 들어, 내 build.gradle은 일반적으로 다음과 같이 보일 것입니다 JUnit 테스트에서 ProjectBuilder 클래스에 의해 생성 된 Project 인스턴스의 foobarConfiguration에 다른 구성 값을 제공하고 테스트 할 수 있도록 테스트 메소드를 작성해야하는 방법을 알려주십시오.

도움을 주시면 감사하겠습니다.

답변

1

당신이 당신의 확장을위한 JUnit 테스트를 작성하려는 경우, 당신은 단순히 인스턴스를 생성 할 수 있으며, 프로그램을 구성합니다


class FooBarConfigTest { 

    private FooBarConfig fooBarConfig 

    @Before 
    public void before() { 
     fooBarConfig = new FooBarConfig() 
    } 

    @Test 
    public void example() { 
     fooBarConfig.bar = 'boop' 
     assertEquals("expectedIfBarIsBoop", fooBarConfig.someMethod()) 
    } 

} 

을 한편, 플러그인 자체가, 당신이 ProjectBuilder을 사용할 수 있습니다 테스트 유형별로 확장자를 찾으십시오.


class MyPluginTest { 

    private MyPlugin plugin 
    private Project project 

    @Before 
    public void before() { 
     project = ProjectBuilder.builder().build(); 
     plugin = new MyPlugin() 
     plugin.apply(project) 
    } 

    @Test 
    public void example() { 
     FooBarConfig foobarConfig = project.extensions.findByType(FooBarConfig) 
     assertNotNull(foobarConfig) 
     foobarConfig.bar = 'boop' 
    } 

} 
관련 문제