2012-04-03 4 views
0

Visual Studio 11의 Nancy/xUnit 테스트가 Razor 뷰 엔진에 의존하는 이유는 무엇입니까? Nancy 기본보기 엔진 (SSVE)을 사용하고 있습니다. 다른 부트 스트 래퍼가 필요합니까?Nancy : xUnit 테스트가 Razor 뷰 엔진에 의존하는 이유는 무엇입니까?

[Fact] 
public void Register_mentor_Should_redirect_to_mentor_home() 
{ 
    // Given 
    var bootstrapper = new DefaultNancyBootstrapper(); 
    var browser = new Browser(bootstrapper); 

    //When 
    var response = browser.Post("/register", (with) => 
    { 
     with.HttpRequest(); 
     with.FormValue("role", "mentor"); 
    }); 

    // Then 
    response.ShouldHaveRedirectedTo("/mentor"); 
} 

테스트 나는 그것은하지 않는 다음과 같은 예외

예외 enter image description here

답변

0

를 얻을. 당신은 두 가지 이유 당신은 (낸시 0.10 현재) 또한 Nancy.ViewEngines.Razor.BuildProviders.dll을 포함 Nancy.ViewEngines.Razor의 nuget를 설치 한

  • 동안 그 예외를보고있다. dll은 Nancy 면도기 엔진을위한 디자인 타임 인텔리 센스를 가능하게합니다. 파일은 Nuget이 설치 한 빌드 후 이벤트를 통해 각 빌드의 \ bin 디렉토리에 복사됩니다.

  • BadImageFormatException은 프로젝트 Nancy.ViewEngines.Razor.BuildProviders 프로젝트에 버그가 있었기 때문에 발생합니다 x86 시스템 만 대상으로합니다. 이는 곧 0.11 릴리스에서 해결되었습니다 이미 마스터 브랜치에 체크인

그래서이 문제를 해결하려면 Nancy.ViewEngines.Razor의 nuget를 제거하고 모든 일을해야한다 (당신은 SSVE 뷰를 사용했다) 잘 작동합니다 (누 그물을 제거하면 빌드 후 이벤트 후크도 제거됩니다)

+0

> uninstall-package Nancy.ViewEngines.Razor Uninstall-Package : 'Nancy.ViewEngines.Razor'패키지를 찾을 수 없습니다. – biofractal

+0

나는 Cassette.Nancy 패키지의 일부로 나를 위해 설치 한 면도기를 가지고 있었지만 며칠 전 제거되었습니다. 그러나 당신이 옳았는데, 그것은 성가신 Razor.BuildProviders DLL이 내 \ bin 디렉토리에 매달려 있었다. 내가해야 할 일은 프로젝트에서 Clean을 수행 한 다음, 그 작업을 신뢰하지 않고 bin 폴더를 완전히 삭제 한 다음 다시 컴파일하는 것으로 결정했습니다. 이제 단위 테스트가 작동합니다. 감사. – biofractal

관련 문제