2009-08-20 2 views
2

"디자인/아키텍처"질문이므로 기술 정보를 제공 할 필요가 없습니다.xunit 테스트가로드하는 테스트 케이스를 저장하는 가장 좋은 방법은 무엇입니까?

xunit 단위 테스트 실행 방법, 테스트 결과 기록 방법 및 성공 또는 실패 여부를 표시하는 방법을 보여주는 예가 인터넷에서 하루 종일 찾을 수 있지만 인터넷의 모든 예는 하드 코딩되어 있으며 아무도 예제를 보여주지 않습니다 테스트 케이스 (nunit 또는 junit)를 수백 또는 수천 개의 테스트를 작성하고 테스트 엔진에로드 할 수있는 방식으로 효율적으로 저장하는 방법에 대해 설명합니다.

XML 파일 또는 데이터베이스 테이블을 사용하여이 작업을 수행한다고 가정합니다. 테스트 코드에 의해로드 될 테스트를 저장하는 가장 좋은 방법이라고 생각하는 것을 공유 할 수 있습니까? 일반적인 웹 워크 플로우 앱에 대해 수천 가지 테스트를 수행 할 테스트 프레임 워크를 작성할 수 있어야합니다. 올바른 방법으로 테스트하고 싶습니다. 당신은 데이터 중심의 시험 "에 받고있는 경우

아마

답변

0

등 단위 많은 옵션을 가지고"구글 고급 검색 "페이지의 테스트 및 변화의 수백을하는 상황에서 답을 설명 "라고 말하면 RowTest 접근 방식과 그에 상응하는 기능을 살펴보아야합니다. NUnit이 이것을 MBUnit에서 빌 렸습니다. xUnit은 코드에서 입력을 지정할 필요가없는 Theory and PropertyData을 통해 더욱 확장 가능한 솔루션을 제공합니다. 임의 함수, 스프레드 시트 또는 SQL Server 데이터베이스에서 입력을 생성 할 수 있습니다.

Rowtest 메소드 (이것도 드문 경우)에 대한 필요성을 전혀 느껴본 적이 없으므로 드래곤을 경고 할 수 없습니다. 위의 방법을 사용할 수 없다면 Fit/Fitnesse를 사용해도됩니다. 기술적으로 수용 테스트는 아니지만.

'테스트 프레임 워크'에 대해서는 아마도 YAGNI가 그랬을 수도 있습니다. 시작하고, 작게 시작하고, 간단하게 유지하고, 시간을 들여 테스트 디자인을 발전 시키십시오.

1

여기 중요한 것은 간단하게 유지하고 자연스럽게 성장시키는 것입니다. 테스트는 다른 코드만큼 중요하며 정교하게 리팩토링해야합니다.

UI에서 데이터베이스 전체 스택을 테스트하는 통합 테스트와 달리 실제 단위 테스트는 솔루션에서 실행하는 데 필요한 모든 것을 유지하는 것이 중요합니다. 따라서 개발자는 소스 파일을 업데이트 할 때 항상 최신 항목을 갖게됩니다. 또한 새로운 개발자가 버전 제어 시스템에서 소스 파일을 가져 와서 설정이 필요없는 테스트를 실행할 수있는 스릴없는 설치 시나리오를 목표로해야합니다.

간단한 시나리오에서는 RowTest 기능이 유용하지만 복잡한 시나리오를 다루는 경우 기본 시나리오와 그 변형을 정의 할 수있는 Test Data Builder 패턴을 조사해야합니다.

필자는 테스트 데이터를 가능한 한 테스트에 가깝게 유지하여 테스트에서 실제로 무엇이 일어나는지 볼 수있게했습니다. 따라서 XML 또는 데이터베이스를 사용해야하는지 여부는 문제가 아니라 데이터를 표현하기위한 형식이 다르지만 실제로 테스트 데이터를 테스트에서 분리 할 것인지 여부를 결정합니다.

관련 문제