2016-08-22 80 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上分享你的代碼複製嗎? –

相關問題