2017-03-09 29 views
0

voidTask改變Foo返回類型後:起訂量:引發的方法,返回任務

interface A { 
    event EventHandler<EventArgs> Created; 
    Task FooAsync(); 
} 

測試代碼不編譯(我想FooAsync調用之後籌集事件):

aMock.Setup(x=>x.FooAsync()).Raises(x => x.Created+= null, EventArgs.Empty); 

如何解決這個問題?

回答

1

這對我有效。

[TestMethod] 
    public async Task Test() 
    { 
     var task = Task.CompletedTask; 
     var a = new Mock<A>(); 
     a.Setup(x => x.FooAsync()).Returns(task).Raises(x => x.Created += null, EventArgs.Empty); 
     a.Object.Created += (s, e) => 
     { 
     }; 

     await a.Object.FooAsync(); 
    }