2008-09-12 13 views
0

간단한 WebForms (asp.net) 기반 UI를 테스트하고 MVP 패턴을 따라 UI를 테스트 할 수 있습니다.MVC 기반 UI를 테스트 할 때 얼마나 많은 테스트 설정을 공통으로 사용합니까?

내가 백엔드 알고리즘에 대한 TDD 방법론을 수행함에 따라 DRY 원리 (직접 반복하지 말 것)의 정신에서 발생하는 단위 테스트 리팩토링이 있음을 발견했습니다. 내 상호 작용을 확인하기 위해 Rhino Mock을 사용하여이를 UI에 적용하려고 할 때 뷰 또는 모델 기대치를 설정할 때 Controller 테스트에서 많은 공통점을 발견합니다.

내 질문은 : 대체로 리팩토링을 보통 얼마나 받아들입니까? 다른 TDDer가 MVC/MVP 기반 UI를 테스트하는 방법을 알고 싶습니다.

답변

0

MVP를 사용하며 표준 테스트에서 대부분의 리팩터링을 적용하려고합니다. 일반적으로 다른 시나리오를 테스트하는 데 필요한 약간의 차이로 인해 테스트에서는 제대로 작동하지 않지만 부품 내에서는 공통성이있을 수 있으며 가능한 경우 통합을 수행합니다. 이것은 프로젝트가 진화함에 따라 나중에 필요한 변경을 완화합니다. 표준 코드와 마찬가지로 20 대신 1 자리를 변경하는 것이 더 쉽습니다.

1

표준 코드와 같은 테스트는 리팩터링하지 않습니다. 테스트는 공통 기본 클래스, 도우미 메서드 등으로 리팩터링하는 것처럼 더 명확하지 않게됩니다. 테스트는 자체적으로 충분히 명확해야합니다.

DRY는 테스트 문제가 아닙니다.

즉, 일반적으로 수행되는 많은 배관 작업이 있으며, 이러한 배관 작업은 추상화되어야합니다.

0

단위 테스트를 순수 기능 프로그램으로 간주하여 테스트하지 않아도됩니다. 작업이 테스트 사이에 충분한 공통점이 있다면 표준 코드베이스를 평가할 것입니다. 그렇지만 리팩터링 테스트는 피할 것입니다. 왜냐하면 필자가 GUI를 많이 사용하는 경향이 있기 때문입니다.

0

기능 테스트를 위해 셀레늄을 사용합니다 ( ). JUnit을 사용하여 컨트롤러를 테스트하고 있습니다.

내가 ...

을 URI는 컨트롤러 등으로 리디렉션 상황을 확인하기 위해 컨트롤러와 테스트에서 사용하는 서비스 나 자원을 조롱거야 난 정말이 시점에서 테스트하고 있지 않다있는 유일한 방법은 있습니다 조회수. 그러나 기능 테스트를 통해이를 보완했습니다.