2009-03-17 5 views
5

FitNesse를 기능 테스트 프레임 워크로 사용하고 있습니다. FitNesse가 구성이 필요한 코드를 실행하면 문제가 발생합니다.FitNesse 구성 파일

구성 파일에서 연결 문자열을 가져와야 할 경우 FitServer.exe.config에 추가하여 작동시킬 수 있습니다. 그러나, 나는 그 해결책을 좋아하지 않는다. FitNesse가 내 자신의 구성 파일, 즉 TheNameOfMyApp.dll.config를로드하고 싶습니다.

이것이 가능합니까?

답변

5

물론 쉽습니다. 나는 dotnet 또는 dotnet2 테스트 러너를 사용하고 있다고 가정합니다. 나는 dotnet2 테스트 러너를 사용하고 있는데 어떻게 설정 했는가?

먼저 COMMAND_PATTERN을 정의 할 때 -c suite.config를 포함 시키십시오.

<suiteConfig> 
    <fit.Settings> 
     <appConfigFile>..\..\MyProjectFolder\fitnesse\MyProjectName.config</appConfigFile> 
    </fit.Settings> 
    <fit.Assemblies> 
    </fit.Assemblies> 
    <fit.FileExclusions> 
     <add>^\.svn$</add> 
    </fit.FileExclusions> 
    <fit.Namespaces> 
    </fit.Namespaces> 
    <fit.CellHandlers> 
    </fit.CellHandlers> 
    <fitlibrary.CellHandlers> 
    </fitlibrary.CellHandlers> 
</suiteConfig> 

MyProjectName.config는 다음과 같습니다 :

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
     <add key="keyname" value="something" /> 
    </appSettings> 

</configuration> 

!define COMMAND_PATTERN {%m -c suite.config %p} 
!define TEST_RUNNER {..\..\bin\Debug\FitServer.exe} 

suite.config가 fitnesse.jar 같은 디렉토리에 간다 : 예를 들어, 내가 루트에 다음이

appConfigFile에 절대 경로를 사용하면 더 쉽게 작업 할 수 있습니다. 나는 절대 경로로 시작하여 일을하고, 시행 착오로 상대 경로로 전환했다.

비표준 위치에서 테스트 주자를 실행 중이므로 suite.config의 상대 경로에 영향을 미칩니다. 경로는 suite.config 또는 fitnesse.jar가 아닌 TEST_RUNNER 위치에 상대적입니다.

+1

이 작업은 가능하지만 http://stackoverflow.com/questions/1849172/fitnesse-app-config에 나와있는 것처럼 -a 옵션 (-c 옵션 대신)을 사용할 수도 있습니다. –

0

예 가능하지만 엄청난 작업량입니다. 테스트가있는 테스트 프로젝트와 테스트에 데이터 및 구성 설정을 제공하는 "래퍼"프로젝트를 정의해야합니다.

+0

예제 솔루션이나 튜토리얼에 대한 링크가 있습니까? – grootjans