次のようなことができるはずです:
[TestClass]
public class MyTestClass{
private IService _service;
[TestInitialize]
public void Setup(){
_service = MockRepository.GenerateStrictMock<IService, ICommunicationObject>();
}
[TestMethod]
public void TestWhatsGoingOn(){
_service.Expect(.....).Return(.....);
//This will test the close is called too (hence the ICommunicationObject above)
((ICommunicationObject)_service).Expect(r => r.Close());
}
[TestCleanup]
public void CleanItUp{
_service.VerifyAllExpectations();
}
これは、close メソッドも呼び出されることをテストできることを意味します (予想どおり)。
部分的ではなく厳密なモックを生成する必要があると思います...
また、もちろん、例外処理中に .Abort() 呼び出しが行われたことをアサートしたい場合は、次のようにして実行できます。
((ICommunicationObject)_service).Expect(r => r.Abort());