이 컨트롤러의 생성자는 NewsController라는 컨트롤러를 가지고 있는데,이 컨트롤러의 생성자는 INewsService를 매개 변수로받습니다.서비스 레이어를 호출하는 동작 메서드가 있는지 확인하기위한 단위 테스트
나는이 컨트롤러에서 GetAllNews()라는 메서드를 사용하여 YUI 데이터 테이블을 채우는 데 사용하는 JSON 결과를 반환합니다. 모든 뉴스 항목을 반환하기 위해 뉴스 서비스의 FindAll 메서드가 호출되었는지 확인하는 단위 테스트를 작성하고 싶습니다. 어떻게하면 좋을까요? 내가 현재 가지고 것은 : 시험은 위의 코드로 통과
public NewsControllerTest()
{
newsServiceStub = MockRepository.GenerateStub<INewsService>();
newsController = new NewsController(newsServiceStub);
}
[Test]
public void GetAllNews_should_use_news_service()
{
// Arrange
List<News> newsList = new List<News>();
newsServiceStub.Stub(s => s.FindAll()).Return(newsList);
// Act
var actual = newsController.GetAllNews();
// Assert
newsServiceStub.VerifyAllExpectations();
}
: 같은 컨트롤러에 대한
public JsonResult GetAllNews()
{
var items = newsService.FindAll();
var jsonResult = Json(items);
return jsonResult;
}
내 단위 테스트 보인다. 그러나 GetAllNews()를 아래와 같이 변경하면 패스됩니다. 실패해서는 안됩니까?
public JsonResult GetAllNews()
{
return null;
}
부수적 인 이유는이 유용한 테스트로 간주되는 이유는 무엇입니까? – bzlm
@bzim : 나는 아직 배우는 초보자이다. 나는 무엇을 시험하고 무엇을하지 말아야할지 항상 명확하지 않습니다. –