2014-11-19 1 views
1

SpecFlow 기능 파일을 사용하는 Visual Studio 솔루션을 생성하려고합니다. specflow.exe/generateall 명령을 통해 feature.cs 소스 파일을 외부에서 생성 할 수 있기를 원합니다. 내 문제는 specflow 명령 줄 도구를 사용할 때 생성 된 파일의 네임 스페이스가 매우 길며 기능 파일의 전체 경로와 비슷하다는 것입니다. 생성 과정은 소스 저장소 디렉토리에서 소스 파일을 사용Specflow 기능 파일 생성은 절대 경로로 C# 네임 스페이스를 만듭니다.

// ------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by SpecFlow (http://www.specflow.org/). 
//  SpecFlow Version:1.7.1.0 
//  SpecFlow Generator Version:1.7.0.0 
//  Runtime Version:2.0.50727.5477 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
// ------------------------------------------------------------------------------ 
#region Designer generated code 
namespace mylib.D.projectName.branch.project.folder.Private.scripts.Dev.Source.mylib.Features 
{ 

이 솔루션은 (동기화 퍼포)와 솔루션을 생성하고 다음은

는 feature.cs 파일이 실행 specflow.exe/generateall 후 모습입니다 프로젝트 파일을 별도의 출력 폴더 (빌드 디렉토리)에 저장합니다.

이 네임 스페이스에는 내 워크 스테이션의 경로 정보가 들어 있으므로 사용할 수 없습니다. 생성 된 DLL을 테스트하기 위해 nunit-console을 사용할 자동화 된 테스트 도구를 설치하려고합니다. 네임 스페이스가 특정 적이기 때문에 테스트를 실행하기위한 일반 명령을 만들 수 없습니다. 내가 실행하려면 무엇

:

nunit-console.exe /run:mylib.Features 

무엇에서이 네임 스페이스 결과 :

nunit-console.exe /run:mylib.D.projectName.branch.prjoect.folder.Private.scripts.Dev.Source.mylib.Features 

정보의 또 다른 조각입니다 간단히 말해서 나는 Visual Studio에서 생성 된 솔루션에서 기능 파일을 편집하는 경우 feature.cs 파일은 올바른 네임 스페이스로 생성됩니다. 이 길고 쓸모없는 네임 스페이스 값을 얻는 경우에만 명령 줄 도구에서 feature.cs 파일을 생성합니다. 필자는 텍스트 편집기에서 피쳐 파일을 편집하고 feature.cs 파일을 빌드 전 단계로 생성 할 수 있기를 원합니다. 비 Visual Studio 사용자는 specflow unit 테스트를 작성할 수 있습니다.

감사합니다.

+0

이전 버전의 SpecFlow를 사용하고있는 것처럼 보였습니다. 1.9에서 시도해 보셨습니까? –

+0

아니 샘 나는 그것을 시도하고 그것이 도움이되는지 확인합니다. 감사합니다 –

+0

행운. 어떤 이유로 코드 생성기는 네임 스페이스에 절대 경로를 사용하려고합니다. 어떤 코드 gen 도구가 그렇게합니까? 완전히 사용할 수 없다! –

답변

1

VS 솔루션을 생성 할 때 기능 파일을 정의하는 ItemGroup의 CustomToolNamespace 속성을 설정하십시오.

관련 문제