2013-09-30 2 views
2

Nancy 프로젝트에 대한 테스트를 작성하려고합니다. 나는 나의 테스트를 맨손으로 되돌려 놓았으나 여전히 기괴한 결과를 얻고있다. HttpStatusCode를 테스트 할 때 nUnit이있는 Nancy 모듈 테스트가 실패합니다.

모듈 :

public class HomeModule : BaseModule 
{ 
    public HomeModule(IUserMapper mapper) 
    { 
     Get["/"] = "Hello, world!"; 
    } 
} 

테스트 :

[Test] 
public void Home_Index_should_return_response_OK() 
{ 
    var result = GetBrowser().Get("/", with => with.HttpRequest()); 

    Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); 
} 

어설 션이 메시지와 함께 실패합니다

예상 : OK
그러나이었다 : OK

WTF? 두 결과 모두 HttpStatusCode이고 값이 "OK"입니다. .GetValue() 또는 .ToString()을 둘 다 추가하면 어설 션은 통과하지만 해킹 -y과 뭔가 '코드 냄새'가 나타납니다.

는 처음에 나는 그것이 NUNIT 및 테스트 열거와 특질 될 줄 알았는데하지만 이런 식으로 뭔가를하려고하면

var value = ActionTargets.Suite; 
Assert.AreEqual(ActionTargets.Suite,value); 

은 그것을 잘 전달합니다.

답변

4

은 Argggh .... 내가 ReShafted 봤는데 ..

난 그냥 내가 거기에 자신을 넣어하지 않았다 확신 파일의 상단에이를 발견했다.

using HttpStatusCode = System.Net.HttpStatusCode; 

여기에서 배우는 교훈 : 생각 나는 것을 도구로 사용하지 마십시오.

+0

나는이 질문을 닫거나이 대답을 받아 들일 수 있다고 생각한다. –

+0

2 일 동안 자신의 대답을 받아 들일 수 없게한다. – nathanchere

+1

주의 이야기를 보내 주셔서 감사합니다. ReSharper 옵션 아래의 "지시문을 사용하여 별칭 허용"을 선택 취소하면이 문제가 발생하지 않도록 할 수 있습니다. – bonh