Specflow ComparetoSet throwAnErrorDetailingWhichItemsAreMissing
Specflow ComparetoSet throwAnErrorDetailingWhichItemsAreMissing
我是 SpecFlow 的新手,正在尝试使用与 Visual studio 2015 集成的 SpecFlow 来利用 BDD 模式。
我有一个 composite/complex 对象,因此层次结构的工作方式例如
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
我已经写了我的场景,我想真正找到我得到的值,但我什至没有达到那个点,所以我想让我们尝试利用 ComparetoSet
Spec 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
Exception details are as follows
TechTalk.SpecFlow.Assist.SetComparer1.ThrowAnErrorDetailingWhichItemsAreMissing(IEnumerable
1
listOfMissingItems) at
TechTalk.SpecFlow.Assist.SetComparer1.CompareToSet(IEnumerable
1 set)
at
TechTalk.SpecFlow.Assist.SetComparisonExtensionMethods.CompareToSet[T](Table
table, IEnumerable`1 set) at
在仔细了解代码和异常消息后,我上周解决了这个问题,这让我找到了问题所在。问题是我忘了提到 属性 的 getter 和 setter (get;set;),因此 specflow 抱怨它。一旦我正确装饰 属性 问题就解决了。
希望对大家有所帮助。我最初没有考虑它,因为我得到了其他一切 运行 很好。
我是 SpecFlow 的新手,正在尝试使用与 Visual studio 2015 集成的 SpecFlow 来利用 BDD 模式。 我有一个 composite/complex 对象,因此层次结构的工作方式例如
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
我已经写了我的场景,我想真正找到我得到的值,但我什至没有达到那个点,所以我想让我们尝试利用 ComparetoSet Spec 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
Exception details are as follows TechTalk.SpecFlow.Assist.SetComparer
1.ThrowAnErrorDetailingWhichItemsAreMissing(IEnumerable
1 listOfMissingItems) at TechTalk.SpecFlow.Assist.SetComparer1.CompareToSet(IEnumerable
1 set) at TechTalk.SpecFlow.Assist.SetComparisonExtensionMethods.CompareToSet[T](Table table, IEnumerable`1 set) at
在仔细了解代码和异常消息后,我上周解决了这个问题,这让我找到了问题所在。问题是我忘了提到 属性 的 getter 和 setter (get;set;),因此 specflow 抱怨它。一旦我正确装饰 属性 问题就解决了。
希望对大家有所帮助。我最初没有考虑它,因为我得到了其他一切 运行 很好。