/방법을 기다리고, 내가 비주얼 스튜디오를 사용하고 단위 테스트 코드 커버리지를 기다리고 우리는 비동기 방식이 있다고 가정 2013비동기/비동기에 대한 단위 테스트를 작성하는 방법
: 내가 사용하고 있기 때문에
public async Task DoSomethingAsync()
{
...
await _service.DoInternalAsync();
...
}
을 비주얼 스튜디오의 최신 버전, 그것은 비동기 방식의 단위 테스트에 좋은 지원이 있습니다
: 기본적으로[TestMethod]
public async Task DoSomthingAsyncTest()
{
...
await _objectUnderTest.DoSomethingAsync();
// how to verify the result??? here is what I did
_service.Verify(_ => _.DoInternalAsync());
}
을, 나는이 개 질문이
- 코드에 설명 된대로
Task
결과를 확인하는 방법은 무엇입니까? 나는 그 일을 올바르게 했는가? - 해당 테스트를 실행하면 VS에서 테스트 통과라고 표시됩니다. 하지만 코드 커버 리지를 확인할 때,
await _service.DoInternalAsync()
문장은 코드 커버리지 결과의 관점에서 보지 못했고,MoveNext()
문장은 6 개의 커버 블록을 가지고 있습니다. 그 안에 무엇이 잘못 되었습니까?
을 작업보다는 다른 아무것도 반환하지 않는'async' 방법 때문에, 단순히 Service''당신의 모의가 호출 된 것을 주장한다. 다른 것을 테스트 할 필요가 없으며,'service' 클래스 내의 유닛 테스트는 이미 그것의 행동을 다룹니다. 반환 값이 있다면 비동기 메서드로 클래스를 모의 할 수있는 방법이 있습니다. –