우리는 Entity Code First를 사용하는 응용 프로그램을 보유하고 있으며 Oracle 용 Devart 지원을 추가했습니다. Visual Studio 테스트 러너를 통해 실행되는 일련의 통합 테스트를 통해 시드 데이터 테스트를 수행합니다. 테스트 실행시 Oracle뿐만 아니라 SQL Server에 대해 이러한 테스트를 실행할 수 있기를 원합니다. 누구든지이 접근법에 대해 좋은 각도를 가지고 있습니까?연결 문자열 당 C# 통합 테스트 실행
답변
구성 파일에서 연결 문자열 및 기타 설정 정보를 읽을 수 있습니다.
데이터베이스/설정별로 구성 파일을 만듭니다.
각 구성마다 테스트를 두 번 실행하는 명령 파일을 만듭니다.
다른 환경 설정을 원하지만 테스트를 한 번만 코딩하고 여러 번 실행하는 경우, Data Driven test은 어떨까요?
[DataSource]
속성을 사용하여 테스트를 장식 할 수 있습니다. 데이터 소스 자체는 Excel 파일, CSV 등이 될 수 있으며 파일에는 연결 문자열과 기타 관련 정보가 들어있어 환경을 구성 할 수 있습니다.
테스트를 실행할 때마다 환경 데이터를 나타내는 DataRow가 있습니다.
등
하면이 [ValueSource]
속성을 사용뿐만 NUnit과를 사용하는 경우 달성, 일부 저장 위치, 파일 값을 반환 클래스에 정적 인 방식의 데이터를 제공 할 수있는 동일한 이러한 설정 중 하나라도 테스트가 실제로 여러 번 실행되므로 각 환경이 개별적으로 실패하거나 통과 할 수 있습니다.
이것은 하나의 로직을 테스트하지만 시나리오와 예상 출력이 다른 아주 좋은 방법입니다. 외부 데이터 소스에 입력 및 예상 출력을 넣을 수 있으며 테스트 프레임 워크를 모든 시나리오에서 실행하고 테스트 프레임 워크가 모두 예상대로 작동하는지 확인할 수 있습니다. 예를 들어 비교할 수있는 시나리오가있는 경우와 같이 이미 알려진 결과와 비교할 재무 알고리즘이나 엑셀의 동일한 알고리즘에 대해 블랙 박스 테스트를 수행하는 것이 유용 할 수 있습니다.
격리 된 클래스에 대한 실제 단위 테스트를 작성해서는 안되는 것은 아닙니다. 도구 상자에 추가하는 또 다른 도구 일뿐입니다.
DataSource 특성은 한 번만 추가 할 수 있습니다 (http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools).unittesting.datasourceattribute (v = VS.80) .aspx –
올바른 아이디어는 각 환경마다 하나씩 여러 행이있는 단일 데이터 소스를 갖는 것입니다. –
- 1. 사용자 당 저장된 연결 문자열
- 2. 유닛 테스트 연결 문자열 오류
- 3. WatiN 테스트 및 연결 문자열 Fiasco
- 4. 연결 문자열 C#
- 5. C#의 문자열 연결?
- 6. 매크로에서 문자열 연결 - C++
- 7. Grails에서 신속하게 단일 통합 테스트 실행
- 8. Rails 통합 테스트 : 실행 시간 단축
- 9. Maven 통합 내에서 Ruby 유닛 테스트 실행
- 10. 통합 테스트 목적으로 Nunit에서 RESTfull 서비스 실행
- 11. 통합 테스트 실행 중 문제 EJB
- 12. ODP.NET 통합 보안 잘못된 연결 문자열 인수
- 13. 통합 테스트 모범 사례
- 14. C : 포인터를 통한 문자열 연결
- 15. 사용자 당 연결
- 16. MSTest를 사용하여 단위 테스트 및 통합 테스트 실행
- 17. 통합 테스트
- 18. web.config의 연결 문자열 보안
- 19. C# 문자열 연결 및 문자열 intern
- 20. SQL 연결 문자열 암호화 C#
- 21. C 문자열 연결 문제 함수
- 22. C#, oledb 연결 문자열 문제
- 23. C# 컴파일시 문자열 상수 연결
- 24. C++ 문자열 재정의 연결 오류
- 25. Ruby에서 sftp 연결 테스트
- 26. 관리 코드에서 NUnit의 통합 테스트 C++ 코드
- 27. 통합 테스트 - 복잡한 트랜잭션 롤백
- 28. 통합 테스트 전략 리소스
- 29. 통합 테스트 해체 방법
- 30. 통합 테스트 대 테스트 커버리지
테스트를 두 번 실행하십시오. 각 유형에 대해 한 번. – tsells
좀 더 게으르고 자동화가 가능한 무언가를 원하고 있습니다. 일련의 테스트가 계속 확장 될 것이고 지수 유지 관리를 추가하지 않을 것입니다. 우리가 필요로하는 것을 자동화 할 수있는 간단한 절차를 알고 있다면. 참고 :이 테스트는 Gated 체크인에서 실행됩니다. –
당신이 이해하지 못하는 것은 두 가지 테스트로 처리해야한다는 것입니다. 동일한 작업을 수행하고 있지만 두 개의 별도 플랫폼을 테스트하고 있습니다. 빌드 레벨에서 이것을 자동화하십시오 - 그리고 스위트를 두 번 실행하십시오 - 각각 별도의 데이터베이스 타겟으로 실행하십시오. – tsells