2017-08-11 110 views
0

單元測試我在單元測試新的,我嘗試測試我的解析器:文本解析器

public static List<tranche> Parse22(string record) 
{ 
    List <tranche> Tranche = new List<tranche>(); 
    foreach (var i in record) 
    { 
     var ts = new tranche(); 
     ts.dealer_name = line.Substring(2, 5); 
     ts.invoice = line.Substring(7, 7); 
     ts.amount = Decimal.Parse(line.Substring(14, 13)); 
     ts.vin = line.Substring(46, 17); 
     ts.model = line.Substring(63, 4); 
     ts.registration = line.Substring(72, 10); 
     ts.brutto = Decimal.Parse(line.Substring(95, 13)); 
     Tranche.Add(ts); 
    } 
    return Tranche; 
} 

我想測試dealer_name和VIN是正確的。但我不明白「斷言」應該是什麼。

[TestClass] 
public class ParserTest 
{ 
    [TestMethod] 
    public void Parse_LineStarts22_ReturnsVINandDealerNameCorrect() 
    { 
     string record = testString; 
     var res = myParser.Parse22(record); 

     Assert.AreEqual() //??? 
    } 
} 
+0

什麼是'行',爲什麼迭代字符串? –

回答

2

的方法有兩個參數:期望值實際值

因爲資源是List你要訪問你想要通過索引檢查的項目,然後你想要的歡迎使用屬性去檢查。

這是您的res List中第一項的示例。

Assert.AreEqual("expectedDealerName", res[0].dealer_name); 
Assert.AreEqual("expectedVin", res[0].vin); 

欲瞭解更多信息,看看在Assert.AreEqual Method

在我的例子AreEqual(Object, Object)方法將被使用。

驗證兩個指定的對象是否相等。如果 的對象不相等,斷言失敗。