2012-11-28 4 views
4

우리는 Entity Code First를 사용하는 응용 프로그램을 보유하고 있으며 Oracle 용 Devart 지원을 추가했습니다. Visual Studio 테스트 러너를 통해 실행되는 일련의 통합 테스트를 통해 시드 데이터 테스트를 수행합니다. 테스트 실행시 Oracle뿐만 아니라 SQL Server에 대해 이러한 테스트를 실행할 수 있기를 원합니다. 누구든지이 접근법에 대해 좋은 각도를 가지고 있습니까?연결 문자열 당 C# 통합 테스트 실행

+1

테스트를 두 번 실행하십시오. 각 유형에 대해 한 번. – tsells

+0

좀 더 게으르고 자동화가 가능한 무언가를 원하고 있습니다. 일련의 테스트가 계속 확장 될 것이고 지수 유지 관리를 추가하지 않을 것입니다. 우리가 필요로하는 것을 자동화 할 수있는 간단한 절차를 알고 있다면. 참고 :이 테스트는 Gated 체크인에서 실행됩니다. –

+0

당신이 이해하지 못하는 것은 두 가지 테스트로 처리해야한다는 것입니다. 동일한 작업을 수행하고 있지만 두 개의 별도 플랫폼을 테스트하고 있습니다. 빌드 레벨에서 이것을 자동화하십시오 - 그리고 스위트를 두 번 실행하십시오 - 각각 별도의 데이터베이스 타겟으로 실행하십시오. – tsells

답변

1

구성 파일에서 연결 문자열 및 기타 설정 정보를 읽을 수 있습니다.

데이터베이스/설정별로 구성 파일을 만듭니다.

각 구성마다 테스트를 두 번 실행하는 명령 파일을 만듭니다.

0

다른 환경 설정을 원하지만 테스트를 한 번만 코딩하고 여러 번 실행하는 경우, Data Driven test은 어떨까요?

[DataSource] 속성을 사용하여 테스트를 장식 할 수 있습니다. 데이터 소스 자체는 Excel 파일, CSV 등이 될 수 있으며 파일에는 연결 문자열과 기타 관련 정보가 들어있어 환경을 구성 할 수 있습니다.

테스트를 실행할 때마다 환경 데이터를 나타내는 DataRow가 있습니다.

하면이 [ValueSource] 속성을 사용뿐만 NUnit과를 사용하는 경우 달성, 일부 저장 위치, 파일 값을 반환 클래스에 정적 인 방식의 데이터를 제공 할 수있는 동일한 이러한 설정 중 하나라도 테스트가 실제로 여러 번 실행되므로 각 환경이 개별적으로 실패하거나 통과 할 수 있습니다.

이것은 하나의 로직을 테스트하지만 시나리오와 예상 출력이 다른 아주 좋은 방법입니다. 외부 데이터 소스에 입력 및 예상 출력을 넣을 수 있으며 테스트 프레임 워크를 모든 시나리오에서 실행하고 테스트 프레임 워크가 모두 예상대로 작동하는지 확인할 수 있습니다. 예를 들어 비교할 수있는 시나리오가있는 경우와 같이 이미 알려진 결과와 비교할 재무 알고리즘이나 엑셀의 동일한 알고리즘에 대해 블랙 박스 테스트를 수행하는 것이 유용 할 수 있습니다.

격리 된 클래스에 대한 실제 단위 테스트를 작성해서는 안되는 것은 아닙니다. 도구 상자에 추가하는 또 다른 도구 일뿐입니다.

+0

DataSource 특성은 한 번만 추가 할 수 있습니다 (http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools).unittesting.datasourceattribute (v = VS.80) .aspx –

+0

올바른 아이디어는 각 환경마다 하나씩 여러 행이있는 단일 데이터 소스를 갖는 것입니다. –