0

실제로 단위 테스트를 작성하지 않았습니다. 내 WebApi의 컨트롤러에서 HttpResponseMessage를 테스트하려고합니다. 나는 오류가 없다. 실제로 테스트는 내가 이상하다고 생각하는 초록색 체크로 끝난다. 어설 션을 두 번 체크하기 위해 디버깅을 할 때 나는 나의 어설트를 때리지 않았다는 것을 깨달았 기 때문이다. 여기에 내 시험이있다. 여기 WebApi Controller Unit HttpResponseMessage에 대한 테스트가 작동하지 않습니다.

[Fact] 
    public void TestDudeManController() 
    { 
     //arrange 
     DudeManModel dmmRequest = new DudeManModel(); 
     DudeManModel dmmResponse = new DudeManModel(); 
     HttpResponseMessage hrm = new HttpResponseMessage(); 
     dmmRequest.Name = "Test-Duder"; 
     dmmResponse.Name = "Hey " + dmmRequest.Name + ", Im The Dude man."; 
     var dudeController = new DudeManController();   
     dudeController.Request = new HttpRequestMessage(); 
     dudeController.Configuration = new HttpConfiguration();  

     //act 
     hrm = dudeController.Dude(dmmRequest); 

     //assert 
     //Assert.Equal(4, 4); 
     Assert.True(hrm.IsSuccessStatusCode);   

    } 

기본적

[HttpPost] 
    [Route("dude")] 
    public HttpResponseMessage Dude([FromBody]DudeManModel name) 
    { 
     log.Info("WEBAPI POST INITIATED::NAME IS::" + name.Name); 

     name.Name = "Hey " + name.Name + ", Im The Dude man."; 
     name.Link = "dude.png"; 

     log.InfoFormat("WEBAPI POST UPDATED::NAME IS::{0}::PIC IS::{1}", name.Name, name.Link); 

     return Request.CreateResponse(HttpStatusCode.OK, name); 
    } 

I는이 광고에 도착 컨트롤러는 '새로운 HttpConfiguration dudeController.Configuration =(); " 그리고 그게 다야. 시험은 끝났어. 테스트는 통과로 표시됩니다.

이것은 .Net Framework WebApi와 Im은 xUnit을 사용하여 테스트합니다. 내 테스트가 왜 그 라인을 성공적인 테스트로 구상하는지에 대한 어떤 생각이라도 나는 정말로 도움이된다. 지금까지 내 검색에서 그걸 많이 발견하지 못했습니다.

***** 사람이 궁금 그냥 경우

면책 조항

이 테스트 컨트롤러에 대한 이상한 아무것도 없다. 코드 자체는 영화 The The Big Lebowski에 대한 경의 일뿐입니다. 그분은 영원히 '그 친구'가 될 것입니다. 그러나 나의 코드를 읽는 것은, 그것을 여기에서 보는 Im가 조금 우스운 것처럼 보입니다.

답변

0

그래서 이상하게 들리지만 Visual Studio에서 프로젝트를 Release로 설정하고 디버그로 전환했는데 지금은 작동합니다. 내 주장이 나옵니다. 간단한 수정. 나는 이유에 관한 행동에 대해 확신하지 못합니다. 누군가가 알려주지 않으면 알려주세요.

관련 문제