|
|
1
2
您可以围绕域对象的概念进行设计和开发(尽管在BizTalk和集成开发中,我经常发现接口对象或契约优先设计是一种更有用的思维方式—在我的接口上传递什么消息)。您还可以遵循TDD的“构建最简单可行的东西”和“只构建使测试通过的东西”理念。 然而,您的问题听起来像是在问更多关于这些设计和开发方法中以代码为中心的方面。 您希望能够遵循测试驱动的开发方法,首先编写一个执行某个需求但失败的unti测试,然后编写一个满足该需求并使测试通过的方法,这是对的吗?所有这些都是在传统编程语言(如C#)中实现的? 不幸的是,答案是否定的。大多数BizTalk构件(管道、映射、编排…)只能使用Visual Studio BizTalk插件真正构建。有很多方法可以查看底层的c#代码,但人们永远不会想尝试直接开发这段代码。 有两种工具 BizUnit 和 BizUnit Extensions 这使您能够控制BizTalk应用程序的执行并对其进行测试,但这实际上只会让您执行更多受控和测试驱动的集成测试。
但遗憾的是,代码中TDD和DDD的详细细节无法翻译。 有关一些可能有用的相关讨论,请参见以下问题: Mocking WebService consumed by a Biztalk Request-Response port |
|
|
3
1
我同意卡拉斯的评论。许多人将此作为不喜欢BizUnit框架的理由。但是看看BizUnit3.0。它有一个对象模型,允许您用C#/VB而不是XML编写整个测试步骤。BizUnitExtensions也正在升级到新的对象模型。 基于XML的系统的优点是更容易生成测试步骤,并且在更新步骤时无需重新编译。在我自己的扩展库中,我发现XmlPokeStep(受NAnt启发)非常有用。我的团队可以动态更新测试步骤xml。例如,假设我们必须调用一个Web服务来创建一个客户记录,然后检查数据库中的同一记录。现在,如果Web服务返回ID(动态生成),我们可以动态更新下一步的测试步骤(当然不是在同一个xml文件中),然后使用该步骤检查数据库。 从编码的角度来看,intellisense现在应该在BizUnit3.0中解决。过去,缺少XSD确实让事情变得困难。我希望得到一个XSD,这将有助于智能感知。BizUnit的旧版本中也有一些片段,但这些片段尚未更新,如果有时间的话,我可能会尝试一下。 但回到TDD问题,如果您理解TDD背后的一些意图——规范或行为驱动元素,那么您也可以在一定程度上将其应用于Biztalk开发,因为Biztalk在很大程度上基于契约驱动的开发。因此,您可以首先指定接口并创建存根编排等来处理它们,然后构建核心。您可以在那时编写BizUnit测试。我希望有一些工具可以自动化这个过程,但现在没有。
只是一些想法。希望这有帮助。我认为更广泛地写博客是值得的。 Rgds 本吉 |
|
|
4
0
|
|
|
Agrim Singh · 用户数据。名称未显示用户名 4 年前 |
|
|
Douo · 节点。js-如何使用Express使用原始请求正文 4 年前 |
|
|
Somokos · 使用或条件的Laravel 8同路由多中间件 4 年前 |
|
|
Ramu · express路由器中间件中带有附加参数的函数数组 4 年前 |
|
|
Lassi · 在Go web app路由器中检查用户权限的最佳方法 8 年前 |
|
|
user4864425 · 如何使用实体框架6访问中间件中的数据库 8 年前 |
|
|
Aran Freel · 普通函数与返回多个函数的函数的区别 8 年前 |