2016-07-28 52 views
1

我是新來SpecFlow並試圖利用使用SpecFlow BDD模式與Visual Studio集成2015年 我有一個複合/複雜的對象,這樣的方式層次結構的工作原理是例如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 

我有寫我的情況,我想實際上找到我得到的價值,但我甚至沒有達到這一點,所以我想我們試着利用Specif Flow Assist助手的ComparetoSet 方法,但我得到例外,並在異常的消息 所有我得到這個

| 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 TechTalk.SpecFlow.Assist.SetComparer listOfMissingItems)。 SetComparer 1.CompareToSet(IEnumerable 1組) 在 TechTalk.SpecFlow.Assist.SetComparisonExtensionMethods.CompareToSet [T](表 表,IEnumerable`1集)在

回答

0

上週我得到了這個解決方案,仔細瞭解代碼和異常消息後,我發現問題。問題是我忘記提及屬性的getter和setter(get; set;),因此specflow正在抱怨它。只要我正確地修復了屬性,問題就解決了。

希望它能幫助別人。我最初並沒有考慮過這個問題,因爲我讓其他一切都運行良好。