我正在为我的所有Saga处理程序编写简单的单元测试,基本上只是确保完全捕获/处理了消息。
但是,其中一个Saga处理程序调用ReplyToOriginator,并且由于无法将测试上下文识别为有效的发起者,因此它现在引发异常。
更具体地说,我的相关代码如下:
$pdo=PDOconnection;
$arr=someArray;
function myFunction(){
if(no-parameters){
$input=$pdo;
//or
$input=$arr;
}
}
测试失败,并传递以下异常:
System.Exception:Entity.Originator不能为null。也许发件人是一个SendOnly端点。
有人可以提供一些有关如何解决此问题的建议吗?我是否可能以不合适的方式测试Saga处理程序?
答案 0 :(得分:1)
Saga.ReplyToOriginator
期望从传入的原始消息中设置原始发件人。由于这是一项测试,因此不会自动设置原始发件人,您必须通过为_process.Data.Originator
分配一些任意值来手动进行设置值。