Silverlight에 대한 유닛 테스트를 생성 할 때 테스트 프레임 워크에는 비동기 호출을 지원하지만 테스트 메소드 내에서만 빌드 할 수있는 기능이있는 것 같습니다. 거기에서 호출하고있는 자식 메서드에서 비동기 호출이 있으면 어떻게할까요?Silverlight 유닛 테스팅, 중첩 된 메소드의 비동기 호출 처리
예를 들어 Specflow를 사용하여 ViewModel을 테스트하는 경우 명령의 Execute 메서드를 호출하고 해당 명령이 비동기 적으로 웹 서비스를 호출하려고합니다. 결과를 주장하기 전에 while 명령이 완료되었는지 어떻게 확인할 수 있습니까?
를 예로 들어이 내가 전체 명령을 계속하기 전에 완료 될 때까지 기다릴 필요가 명령
[Asynchronous]
[When(@"I press calculate")]
public void WhenIPressCalculate()
{
_helloWorldViewModel.CalculateCommand.Execute(null);
}
입니다.
비동기 호출이 WCF 서비스와 관련된 경우 메서드 호출에 지연이없는 모의 서비스를 만들 수 있습니다. 단위 테스트를 완료하는 데 시간이 많이 걸리지 않아야하기 때문에 더 나은 방법입니다. – vorrtex
실제로 기능 블록 (Behavior Driven Development)을 테스트하고 있으므로 실제 서비스를 호출하는 것이 좋습니다. 그렇게함으로써 우리는이 기능이 완전히 작동하는지 확인할 수 있습니다. – Nitro52