2016-08-22 3 views
0

Я пытаюсь провести тестирование саги NServiceBus 5.Тест модуля NServiceBus с неожиданной ошибкой

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)); 

Если я запустить тест он терпит неудачу с непредвиденной ошибкой: Исключение при вызове Исполнителю

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

Если я реализую MarshalByRefObject в этом типе тест устройство работает нормально. Есть ли какое-либо решение для запуска теста без реализации этого дополнительного класса? Я не хочу реализовывать MarshalByRefObject только для модульного теста.

ответ

0

Не могли бы вы просто украсить UpdateCmd атрибутом [Serializable]?

Однако я не могу воспроизвести упомянутое вами исключение. Если вы хотите исследовать его, не могли бы вы поделиться кодом, чтобы воспроизвести проблему?

+0

Можете ли вы поделиться своим воспроизведением кода на GitHub или BitBucket? –

Смежные вопросы