使用BizTalk,我喜欢使用可调用业务流程(没有管道)作为其他业务流程的服务,从而在架构中提供更大的灵活性。但是对它们进行单元测试是相当狡猾的。现在,我使用一个单独的应用程序与一个包装器编排(只是调用业务流程测试),我在部署测试之前部署到BizTalk。
有人有更好的方法来计算可调用的编排吗?最优选的是,我会有一个单元测试,我不需要任何额外的工件来部署。
提前致谢。
答案 0 :(得分:0)
否很难回答一个悬而未决的问题,但我的回答是实际上不可能。
业务流程与BizTalk业务流程引擎紧密结合。如果要对业务流程进行单元测试,则需要模拟该业务流程引擎。这不是一件容易的事。你需要考虑很多细节,比如脱水,序列化,范围,你的编排实际工作的消息传递方式等等。
我会说你正在采取正确的步骤,将业务流程的各个部分分开,而不是直接绑定在物理端口上。这使得测试成为可能/更容易。较少的连接也意味着更少的错误点。
我会尝试限制您的编排工作量。只有在没有更好(或至少更可测试)的替代方案时才使用业务流程。
如果您可以通过简单地部署,删除消息和查看结果来快速且无需花费太多精力测试您的业务流程,那么您已经比一整套BizTalk开发人员进行了更多的测试。如果您轻松完成此过程,并尽可能自动化(部署,删除文件,检查预期输出),那么您至少可以更轻松地检测回归。
目标是使测试变得如此简单/便宜且可靠,比不测试更容易测试。这样你就可以阻止经理说
skip the tests, they take too long
。你会希望他们问:can you test it first?