规格流比较设置throwAnErrorDetailingWhichItemsAreMissing
本文关键字:设置 throwAnErrorDetailingWhichItemsAreMissing 比较 | 更新日期: 2023-09-27 17:59:06
我是SpecFlow的新手,正在尝试使用与Visual studio 2015集成的SpecFlow来利用BDD模式。我有一个复合/复杂对象,所以层次结构的工作方式是例如
ResponseMessage
---- MessageHeaderClass ContextToken
----This property holds a class object which will have few string properties
---- SomeConcreteClass MessageBody
----This property holds a class object which will have few string properties
我已经写了我的场景,我想真正找到我得到的值,但我甚至还没有达到这一点,所以我想让我们试着利用ComparetoSetSpec Flow Assist助手的方法,但我得到了异常,并且在异常的消息中我只有这个
| ContextToken | MessageBody |
+ | MessageHeaderClass | SomeConcreteClass |
我所期望的,也许我错了,ComparetoSet会将对象返回的值设置为场景中提到的属性。我在功能中也保留了相同的属性名称,正如你在下面看到的那样
Scenario: Request From invoker Response Values Check
Given invoker invoked MethodName
When Request get passed to MethodName get response
Then I get back following response
| ContextToken | MessageBody |
#| MessageHeader | SomeConcreteClass |
#| {3/1/2016 3:38:55 PM} | Request received successfully |
#| 10085103-1618744 | |
#| somevalue | |
#| 00000-44144-444244-1044-441 | |
#| somevalue
异常详细信息如下TechTalk.SpecFlow.Assist.SetComparer
1.ThrowAnErrorDetailingWhichItemsAreMissing(IEnumerable
1listOfMissingItems)TechTalk.SpecFlow.Assist.SetComparer1.CompareToSet(IEnumerable
1套)在TechTalk.SpecFlow.Assistant.SetComparisonExtensionMethods.CompareToSet[T](表表,IEnumerable`1套)
在仔细查看了代码和异常消息后,我上周解决了这个问题,这让我发现了问题。问题是我忘了提到一个属性的getter和setter(get;set;),因此specflow对此表示不满。我正确地装饰了该属性后,问题就解决了。
希望它能帮助到别人。我一开始没有考虑这件事,因为我把其他一切都安排得很好。