2012-05-15 3 views
2

단위 테스트에 사용자 지정 빌드 설정을 전달해야 할 필요가 있습니다. 코드에서 System.EnvironmentVariable을 사용할 수 있다는 것을 알고 있습니다. TFS 빌드 정의에 매개 변수를 추가하고 코드에서 env 매개 변수로 읽을 수있는 방법을 궁금합니다. 릴리스 엔지니어가 빌드 정의에 지정해야합니다..NET 단위 테스트에 빌드 인수를 전달하는 방법

답변

0

app.config에 넣고 ConfigurationManager을 사용하면 어떨까요?

+0

우리는 이미 .NET 설정의 많이 사용을하고, 문제가 릴리스 지점별로 재정의 할 수있는 한 . 우리는 Build Defintion 사용자 정의 속성을 사용하여 간단하게 정리할 수있었습니다. –

3

preprocessor directive을 사용하여 일부 코드를 조건부로 실행하려는 것 같습니다.

[TestMethod] 
public void MyTestMethod() 
{ 
    bool buildArgumentIsSet = false; 

    #if MY_BUILD_ARGUMENT 
     buildArgumentIsSet = true 
    #endif 

    Assert.IsFalse(
     buildArgumentIsSet, 
     "The evil release engineer set the build argument.");   
} 

다음 /define 인수로 컴파일 할 수 있습니다 귀하의 릴리스 엔지니어, 예를 들어

/define:MY_BUILD_ARGUMENT 
+1

일관성과 차이가없는 모든 배포에 대해 en-build-per-env 정책이 하나 있습니다. 우리는 설정 정의에 사용자 정의 속성을 추가하여 설정 파일이 생성되도록합니다. 따라서 config API가이를 감지/사용할 수 있습니다. –

관련 문제