2011-05-06 3 views
1

나는 GrailsUnitTestCase을 확장하는 /test/functional의 테스트를 가지고 있습니다. grails test-app을 실행하면 실행되지 않으며 Intelli-J에서 실행하려고하면 no tests found이됩니다.grails - 기능 테스트는 Intelli-J 내에서도 실행되지 않습니까?

내 테스트는 간단하지만 충분히 실행되지 않는 이유는 알 수 없습니다. /integration/ 또는 /unit /에 넣으면 실행되는 것 같습니다. 나는 grails 1.3.6을 사용하고 있습니다. 어떤 이유로 -functional 테스트 단계 테스트가 실행되지 않습니까?

class MyServiceFunctionalTests extends GrailsUnitTestCase { 
    MyService myService 

    public void setUp() { 
     myService = new MyService() 
    } 

    public void testSomething(){ 
     assertTrue(true); 
    } 
} 

답변

3

기능 테스트 플러그인이 설치되어 있습니까? Grails 코어에서 기능 테스트를 직접 지원하지 않으므로 http://grails.org/plugin/functional-test 또는 http://grails.org/plugin/geb 또는 다른 func 테스트 플러그인 중 하나를 설치하고 싶을 것입니다.

귀하의 코드는 단지 예일 뿐이지 만 GrailsUnitTestCase를 확장하거나 MyService의 새 인스턴스를 만들거나 의존성 주입을 사용하는 것은 의미가 없습니다. 기능 테스트는 GET 및 POST 요청을 만들고 응답을 확인하는 실행중인 응용 프로그램의 클라이언트 일 뿐이므로 Spring bean, 서비스 등에 액세스 할 수 없습니다.

+0

내 서비스가 통합 테스트 단계에서 실행됩니다. 기능 테스트 플러그인은 'transitive = false'로 고칠 수없는 것으로 보이는 상충되는 의존성을 가지고 있습니다. 플러그인없이 * 테스트 단계를 추가하는 쉬운 방법이 있습니까? 또한 1.3.6 및 1.3.7 설명서에는 * 기능 * 및 * 기타 *가 원시 테스트 단계에서 지원된다는 내용이 명시되어 있습니다. –

+0

지원되지만 코어를 실행하거나 서버를 시작하는 등의 기능은 없습니다. 기능 테스트 플러그인에서 사용할 수있는 고리가 있습니다. –

+0

아, 알겠습니다. 기능적 테스트를 REST 메서드 테스트/셀레늄 RC 테스트로 외부 시스템에 사용하려면 서버를 시작할 필요가 없습니다. 기능 테스트를 단위 또는 통합처럼 실행하는 것을 추가하는 쉬운 방법이 있습니까? –