首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Fitnesse测试OneWay WCF操作

如何使用Fitnesse测试OneWay WCF操作
EN

Stack Overflow用户
提问于 2013-12-07 18:06:10
回答 1查看 135关注 0票数 0

在我们当前的应用程序中,我们尝试使用WCF netMSMQBinding,它需要一个操作契约作为一种方式来标记。

我们还试图使用Fitnesse作为我们的测试引擎,在我们的测试用例中,我们需要对场景进行端到端的测试,这意味着我们不能使用单向操作,因为一旦消息被放在队列中,fitnesse将尝试断言结果,但是在实际消息中可能已经或者可能还没有处理时,它们就会被返回。因此,如果我们使用单向操作,那么我们需要以某种方式等待它的执行完成。

尝试的方法[研究]

  1. 通过读取配置更改托管时的OperationDescription,以便当托管在Fitnesse IsOneWay中时为False,但在生产中IsOneWay为True,然后用户MSMQ绑定仅用于生产和测试使用tcp或netnamed管道。 我们尝试在打开服务之前创建自定义ServiceHost并更改OperationDescription,但是在OperationDescription类中,IsOneWay是只读属性,通过查看.Net框架代码,它返回消息计数。在我看来,我必须重写服务主机的CreateDescription操作,并且必须提供自定义实现。看起来
  2. 在Fitnesse中创建一个监视器夹具,这将--如何等待消息被处理。 方法1:创建自定义db表,该表存储MessageId和已完成状态,并在每个消息处理结束时在该表中输入记录。因此,现在fitnesse只需轮询表并等待执行完成。 方法2:以某种方式轮询MSMQ并知道何时处理消息。我们仍在重新研究如何使它发挥作用。

请为当前的方法或任何新的方法提供任何指示。

EN

回答 1

Stack Overflow用户

发布于 2013-12-09 23:41:56

我建议第二条更好。使用#1,您不再测试系统,因为它将在生产中运行。我假设您希望在消息处理后测试某些业务条件。你能投票确定这个商业条件是真的吗?我认为这是一种比2.1或2.2更好的方法,在这种情况下,您要对技术条件进行轮询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20444715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档