2008-10-22 3 views
6

질문MSTest는 시작할 때마다 특정 메서드를 실행할 수 있습니까?

항상 테스트 어셈블리가 MSTEST을 통해 실행 언제 것을 실행하는 방법을하는 방법이 있나요?

[TestInitialize] 및 [ClassInitialize] 특성이 작동하는 방식과 비슷하지만 전체 어셈블리에 해당합니다. 나는 모든 테스트 클래스의 [ClassInitialize] 메소드에 코드를 추가하고 싶지 않다.

추론은

내 시험의 일부는 데이터베이스와 상호 작용합니다. 프로덕션 데이터베이스에 매우 해로운 데이터 및 기타 사항을 삭제합니다. 내 단위 테스트 프로젝트가 비 프로덕션 데이터베이스에 대해 실행되도록 지시하는 구성 파일 만 있습니다.

이 Log4Net 자체를 구성하는 어셈블리 속성을 사용

아이디어 "좋아 데이터베이스 이름은 '생산'하지"말을 시작할 때 실행됩니다 방법이 있다면 내가 더 잘 느낄 것 .

using log4net.Config; 
[assembly: XmlConfigurator()] 

아마도 나는 뭔가를 할 수 있습니까?

[assembly: CheckDatabaseNameNot("production")] 

답변

6

[AssemblyInitialize]를 시도 했습니까?

+0

나는 그런 속성을 찾은 것 같았지만 아아, 예, 작동합니다. 데이터베이스 보안 검사가 실패 할 경우 메서드에서 예외를 throw 할 수 있습니다. – quip

+0

나는 당신의 대답을 읽을 때 처음에 농담을한다고 생각했습니다. 제 질문을하기 전에 그것을 찾았을 때 확신했기 때문입니다! – quip

+1

롤, 그래 우리 모두 전에 거기에있어. –

관련 문제