WebAPI 컨트롤러에 대한 일부 단위 테스트를 작성 중이며 매개 변수가 일치한다는 것을 주장하고 싶습니다.WebAPI의 단위 테스트 작업 매개 변수
잘 작동하는 Filip Wojcieszyn's blog에 사용 된 방법을 따라했지만 지금은 그 주장을 확장하려고합니다.
나는 (의 세 가지가 실제 사용을 통해 확인되었습니다) 컨트롤러에 세 가지 작업을해야 : 문제는
[HttpGet]
public IEnumerable<Task> Get()
[HttpGet]
public IEnumerable<Task> Get(string elementType)
[HttpGet]
public Task Get(long id)
그리고 다음 코드를
var actionSelector = new ApiControllerActionSelector();
var descriptor = actionSelector.SelectAction(_controllerContext);
return descriptor.GetParameters();
이 때 I 매개 변수없는 경로에 대한 설명자 .GetParameters()는 "긴 ID"매개 변수 인 1 개의 매개 변수를 포함하는 모음을 반환합니다.
다른 사람이이 두 가지 중 어느 것도 반환하지 않는 이유를 설명 할 수있는 사람이 있습니까? 그리고 과부하 가능성을 얻을 수 있다면?
이것은 정확하게 나와 함께 발생합니다. – Skadoosh
기본 경로 전후에 해당 경로를 넣었습니까? 나는 Get()과 Get (id)를 치는 두 개의 테스트를 가지고있다. 기본 경로 앞에 경로를 배치하면 두 번째 테스트가 실패합니다. 기본 경로 다음에 경로를 지정하면 첫 번째 테스트가 실패합니다. – Skadoosh
기본 경로가 가장 일반적이어야하므로 기본 경로가 마지막 경로 여야합니다. – awj