2012-11-12 3 views
0

"create-controller"명령을 사용하여 컨트롤러를 생성하는 경우 Grails는 contoller와 단위 테스트 (/src/templates/scaffolding/Test.groovy 템플릿 사용)를 생성합니다.스캐 폴딩 템플릿을 사용하여 컨트롤러에 대한 단위 테스트를 생성하는 방법 Test.groovy?

템플릿의 비트를 변경 한 후에는 단위 테스트를 새로 생성하고 싶지만 Grails에서는 생성하지 않습니다.

/src/templates/testing/Generic.groovy

  • "create-unit-test"하지만이 /src/templates/testing/UnitTest.groovy 템플릿을 사용하고 "create-integration-test" 템플릿을 사용합니다 : I 시도 그렇다면 Test.groovy 템플릿을 사용하여 컨트롤러에 대한 단위 테스트를 생성하려면 어떻게해야합니까?

답변

1

Grails는 아티팩트를 생성하거나 스캐 폴딩을 사용하여 템플릿을 사용하여 도메인 클래스, 컨트롤러, 뷰 등을 생성합니다. 기본 템플릿은 기본적으로 Grails 배포판에 포함되어 있지만 프로젝트 별 요구 사항에 맞게 사용자 정의 할 수 있습니다 .

복사 프로젝트 디렉토리에 코드 생성시 Grails가 사용 된 템플릿 :

$ grails install-templates 

src/templates/ 
├── artifacts 
│   ├── Tests.groovy 
│   ├── ... 
├── scaffolding 
│   ├── Test.groovy 
│   ├── ... 
└── war 
    └── web.xml 

아티팩트 디렉토리가 창조하고 * 명령에 의해 사용되는 템플릿이 포함되어 있습니다.
스캐 폴딩 디렉토리에는 generate- * 명령에 사용되는 템플릿이 들어 있습니다.
war 디렉토리에는 전개 디스크립터를 생성하는 데 사용되는 web.xml 템플리트가 들어 있습니다.

  • src/templates/artifacts/Tests.groovy 파일을 grails create-unit-test 또는 grails create-integration-test 명령을 실행할 때 :

    그래서 당신은 편집해야합니다.

  • 또는 grails generate-controller 명령을 실행할 때. 귀하의 경우에는

는 컨트롤러 테스트를 재생하고 은 테스트 파일 덮어 쓰기 :

$ grails generate-controller com.arturoherrero.Post 
| Generating controller for domain class com.arturoherrero.Post 
> File /grails-app/controllers/com/arturoherrero/PostController.groovy already exists. Overwrite?[y,n,a] n 
> File /test/unit/com/arturoherrero/PostControllerTests.groovy already exists. Overwrite?[y,n,a] y 
| Finished generation for domain class com.arturoherrero.Post