Nsb:调用ReplyToOriginator的单元测试Saga处理程序

时间:2019-03-26 00:39:28

标签: nservicebus

我正在为我的所有Saga处理程序编写简单的单元测试,基本上只是确保完全捕获/处理了消息。

但是,其中一个Saga处理程序调用ReplyToOriginator,并且由于无法将测试上下文识别为有效的发起者,因此它现在引发异常。

更具体地说,我的相关代码如下:

$pdo=PDOconnection;
$arr=someArray;

function myFunction(){
    if(no-parameters){
        $input=$pdo;
        //or
        $input=$arr; 
    }
}

测试失败,并传递以下异常:

  

System.Exception:Entity.Originator不能为null。也许发件人是一个SendOnly端点。

有人可以提供一些有关如何解决此问题的建议吗?我是否可能以不合适的方式测试Saga处理程序?

1 个答案:

答案 0 :(得分:1)

Saga.ReplyToOriginator期望从传入的原始消息中设置原始发件人。由于这是一项测试,因此不会自动设置原始发件人,您必须通过为_process.Data.Originator分配一些任意值来手动进行设置值。