2012-02-20 117 views
5

中的代表事件,我想提出一个委托事件。我该怎么做呢?在我的moq设置中提升Moq

要进行测试:

public class SomeClassToBeTested 
{ 
    public void SomeMethodToTest() 
    { 
     var event = new ThreadStart(someOtherClass.SomeMethod); 
     someOtherClass.SomeDelegate += new SomeOtherClass.someDelegate(TriggerMethod); 
    } 

    public void TriggerMethod() 
    { 
     // do something 
    } 
} 

测试类:

[Test] 
public void SomeTest() 
{ 
    this.moqSomeOtherClass.Setup(fd => fd.SomeMethod()) 
         .Raises(fd => // trigger delgate); 
} 

回答

3

尝试:

[Test] 
public void SomeTest() 
{ 
    this.moqSomeOtherClass.Setup(fd => fd.SomeMethod()) 
         .Raises(fd => fd.SomeDelegate +=null); 
}