2013-04-23 64 views
0

我有一個將測試我的情況的斷言列表。測試會通過,但我想將它們全部添加到列表中,以便我可以將該列表發送到xml文件。將聲明添加到列表

我用xml文件做了這個,但是這樣做有什麼幫助嗎?下面是我使用的是不工作的代碼:

Assertions.Add(Assert.That(Resp.Cust.ID, Is.Not.Null)); 

這是考驗這個應答中的ID號不爲空,而我使用NUnit

+0

對不起,但是你試圖發送到xml是什麼。它是斷言的描述,所以你有類似測試用例文件的東西? – aquaraga 2013-04-23 17:40:23

+0

我發送實際的斷言數據,然後如果它通過或沒有......這麼真或假。 – CSharpDev4Evr 2013-04-23 17:49:45

回答

0

Assert.That返回void,這意味着你不能添加任何東西到斷言列表。在另一方面,你可以添加約束列表中,「Is.Not.Null」和對象的說法,這樣的:

Assertions = new List<Tuple<object, IResolveConstraint>>(); 
Assertions.Add(Tuple.Create((object)Resp.Cust.ID, Is.Not.Null)); 

,然後測試每說法是這樣的:

foreach (var pair in Assertions) 
{ 
    Assert.That(pair.Item1, pair.Item2); 
} 

如果你需要在你的xml文件中測試結果,你可以測試你的斷言是這樣的:

object value = ... 
IResolveConstraint expr = ... 
Constraint constraint = expr.Resolve(); 
var result = constraint.Matches(value);