, 나는 그것에 중독 비동기 수신기를 가지고 이벤트를 높이기 위해 MOQ을 사용하려고 비동기 이벤트 리스너에 대한 인상을 true로 결과가 설정되었지만 목록에 항목을 추가하는 중입니다.이 작업을 수행하는 데 시간이 오래 걸릴 수 있으므로 새로운 작업에서이 작업을 수행하고 있습니다. 내 테스트에서, 다음은이 해봐요 실행을 위해 대기하지 않는 한, 실패MOQ WPF에서
내 시험 :
[Test]
public void Test()
{
//Arrange
var serviceMock = new Mock<IService>();
var systemUnderTest = new Provider(serviceMock .Object);
//Act
serviceMock.Raise(mock => mock.OnResultsChanged += null);
//Assert
Assert.IsTrue(systemUnderTest.HasResults);
}
내 이벤트 리스너의 실행을 기다리고 mock.raise을 말할 수 있습니까?
감사합니다.
[단위 테스팅 기다리고 있습니다 비동기 보이드 메소드 호출 (가능 중복 https://stackoverflow.com/questions/14205590/await-a-async-void-method-call-for-unit-testing) – Backs
@ Nkosi, 내가 얻는 문제는 ChageResults가 기다리지 않는 내부에서 기다리고 있다는 것입니다. 아마도 단순화 된 예제에서 이것은 명확하지 않지만 대기 시간 내에 조금 더 오래 걸리면 실행이 기다리지 않고 어설 션이 실패합니다. –