2016-07-27 56 views
-1

我正在做一個斷言,以查找從某個數據庫到另一個數據庫的一些SQL字段。迭代通過列表布爾打印出什麼失敗C#

bool ContainsBracketsWithString = AssertionValue.All(a => 
      CredentialTypeDescription.Any(b => 
       a.Field1 == b.Field1 
       ) 
       ); 

Assert.False(ContainsBracketsWithString); 

這很好地告訴我,如果它通過或失敗,但當它失敗時,我想知道哪些值不匹配。

有人可以提供一些關於如何做到這一點的代碼?

回答

1

你可以在一個通

string message = String.Empty; 
bool ContainsBracketsWithString = AssertionValue.All(a => 
      CredentialTypeDescription.Any(b => { 
        var passed = a.Field1 == b.Field1; 
        if(!passed && String.IsNullOrEmpty(message)){ 
         message = "Some message to identify which failed"; 
        } 
        return passed; 
       }) 
       ); 

Assert.False(ContainsBracketsWithString, message); 
+0

兩者都做不好怎麼會知道哪些失敗了嗎?我希望它遍歷所有的值並返回失敗的值。所以有些消息需要包含失敗的值。 VAR是否通過了迭代值? – Elsid

+0

您可以使用反射來識別a和b。鑑於你將是寫字段的人,那麼只需將消息中的字段命名爲 – Nkosi

+0

即可找到失敗的第一個字段,實現與內置斷言相同: – Elsid