2016-08-22 81 views
0

我尝试单元测试NServiceBus 5传奇。在调用执行NServiceBus单元测试失败,出现意外错误

'executor://mstestadapter/v1': Type UpdateCmd' in assembly MyAssembly, Version=1.0.4.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable

如果我在这个类型的单元测试工作得很好实现MarshalByRefObject的发生 例外:

Test.Initialize(); 

var dbMock = new Mock<IRepository>(); 
     dbMock.Setup(m => m.GetInstrumentIds(It.IsAny<string>())).Returns(new Collection<long> { 1 }); 

     var testingSaga = new MySaga(dbMock.Object); 
     testingSaga.Data = new MySagaData(); 

     Test.Saga(testingSaga) 
       .ExpectSend<UpdateCmd>(x => x.InstrumentId == 1 && x.ActionId == 12) 
       .When(s => s.Handle(startCommand)); 

如果我运行了一个意外错误失败的考验。 有没有解决方案来运行测试而不实现这个额外的类?我不想仅为单元测试实现MarshalByRefObject。

回答

0

你能装饰UpdateCmd[Serializable]属性吗?

但是,我无法重现您提到的例外情况。如果你想调查它,你能分享代码来重现这个问题吗?

+0

你可以在GitHub或BitBucket上分享你的代码复制吗? –

相关问题