2017-07-04 13 views
-1
public void ApplicationNumberIsVaild_Test() 
{ 
    MFA.Convana.BusinessLayer.ObjectModel.ApplicationNumber appno = new MFA.Convana.BusinessLayer.ObjectStore.ApplicationNumber(); 
    String Input; 
    String Output; 
    String TestCase; 
    XMLHelper TestData = new XMLHelper(); 
    TestCase = TestData.GetTestDataString("IsValid"); 
    String[] arr = TestCase.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); 
    if (arr.Length > 0) 
    { 
     for (int i = 0; i < arr.Length; i++) 
     { 
      Input = arr[i].Substring(0, arr[i].IndexOf(TestData.FieldDelimiter)); 
      Output = arr[i].Substring(arr[i].IndexOf(TestData.FieldDelimiter) + 3); 
      Assert.AreEqual(appno.IsValid(Input), Convert.ToBoolean(Output));//Error in this line 
     } 
    } 
+1

格式化您的代碼。 'appno.IsValid(Input)'return(bool)是什麼?可能'appno.IsValid(...)'採用'string'之外的其他參數 –

+0

僅有代碼的問題很少。什麼是錯誤?你試圖做什麼來解決它?你沒有告訴我們有關接受和接受的所有方法是什麼?請減少到[mcve]。 (順便說一句,現在應該是開始遵循.NET命名約定的好時機,並且我會建議您在儘可能最窄的範圍內聲明局部變量,而不是在方法開始時聲明所有內容,然後*使用*變量)。 –

回答

1
MFA.Convana.BusinessLayer.ObjectModel.ApplicationNumber appno 
    = new MFA.Convana.BusinessLayer.ObjectStore.ApplicationNumber(); 
String Input; 
String Output; 
String TestCase; 
XMLHelper TestData = new XMLHelper(); 
TestCase = TestData.GetTestDataString("IsValid"); 
String[] arr = TestCase.Split(new string[] { Environment.NewLine }, 
     StringSplitOptions.None); 
if (arr.Length > 0) 
{ 
    for (int i = 0; i < arr.Length; i++) 
    { 
     Input = arr[i].Substring(0, arr[i].IndexOf(TestData.FieldDelimiter)); 
     Output = arr[i].Substring(arr[i].IndexOf(TestData.FieldDelimiter) + 3); 
     Assert.AreEqual(appno.IsValid(Input), Convert.ToBoolean(Output));//Error in this line 

    } 
} 

有三個潛在的問題:

  1. appno.IsValid()不採取一個參數的字符串。
  2. 字符串Output無法轉換爲布爾值。
  3. appno.IsValid()的返回值無法轉換爲布爾值。

賠率爲appno.IsValid未返回布爾值。 1不太可能成爲你的錯誤來源,3很可能會給你一個不同的錯誤信息。

相關問題