2016-07-28 9 views
1

私はSpecFlowに新しいですし、SpecFlowを使用してBDDパターンを利用しようとは階層が動作する方法は、例えば、私が持っているSpecflow ComparetoSet throwAnErrorDetailingWhichItemsAreMissing

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 

あるので、私はコンポジット/複雑なオブジェクトを持っているVisual Studioに2015 を統合しました私のシナリオを書いて、私は実際に私が得ている値を見つけるが、私はその点に到達していないので、私はComparetoSetを利用しようと考えていると思った スペックフローアシストヘルパーのメソッドが、例外と例外のメッセージで すべて私はこれを持っていた

| ContextToken | MessageBody | 
    + | MessageHeaderClass | SomeConcreteClass | 

私が期待していたことは多分間違っていますが、ComparetoSetはオブジェクトから返された値をシナリオで述べたプロパティに設定することになります。あなたは TechTalk.SpecFlow.Assistで TechTalk.SpecFlow.Assist.SetComparer listOfMissingItems)を以下のよう

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 

以下の例外の詳細がある見ることができるように私はあまりにも機能で同じプロパティ名を保持しています。 SetComparer 1.CompareToSet(IEnumerable 1セット) でTechTalk.SpecFlow.Assist.SetComparisonExtensionMethods.CompareToSet [T](表 テーブル、IEnumerable`1は

答えて

0
に)設定しました

私はこの問題を見つけるためにコードと例外メッセージを慎重に分析した結果、先週解決しました。問題は、プロパティのgetterとsetter(get; set;)について言及するのを忘れていたため、specflowはそれについて不平を言っていました。私はプロパティを正しく装飾するとすぐに問題は解決しました。

誰かを助けることを願っています。もともと私はそれについて考えていなかった。なぜなら、私は他のすべてがうまく走っていたからだ。