2015-08-27 20 views
-1

有誰知道爲什麼這樣不打印?我可能會忽略一些簡單的東西,但由於某種原因,我無法在測試方法中打印任何東西,不是這樣,也不是console.write似乎工作。無法打印在console.writeline上的測試方法

是否有任何方法可以在測試方法內打印任何內容?

[TestMethod] 
public void TestMethodAddUser() 
    { 

     int [] resul = new int[1]; 

     resultado = gestor.addUser("El Pelucas", "12345", "[email protected]"); 
     Console.WriteLine(resul[1].ToString()); 

     try 
     { 

      if (resul[1] > 0) 
      { 

       switch (resul[1]) 
       { 

        case -1: 

         Console.WriteLine("Username taken."); 

         break; 

        case -2: 

         Console.WriteLine("Email address taken."); 

         break; 

       } 

       Console.WriteLine("User added."); 
       Assert.IsTrue(true); 


      } 

     } 
     catch (Exception ex) 
     { 

      Assert.Fail(ex.ToString()); 

     } 

    } 
+0

你應該考慮使用TestContext或Trace.Xxxx方法來代替測試過程中的日誌......一般情況下,你會把消息作爲Assert.Xxxx的第二個/第三個參數,方法,所以你知道什麼是錯的,並驗證假設... –

+0

@alexeilevenkov我會研究它,謝謝 –

回答

0

您的代碼有多個問題。

  • 您沒有爲您的數組分配任何值。
  • 您創建了一個包含1個元素的數組&您嘗試使用數組的第2個元素
  • 您正在使用錯誤的大小寫條件。

運行此

public void TestMethodAddUser() 
{ 
    int[] resul = new int[1]; 
    resul[0] = 1; 

    Console.WriteLine(resul[0].ToString()); 

    try 
    { 
     if (resul[0] > 0) 
     { 
      switch (resul[0]) 
      { 
       case 1: 
        Console.WriteLine("Username taken."); 
        break; 

       case 2: 
        Console.WriteLine("Email address taken."); 
        break; 
      } 

      Console.WriteLine("User added."); 
     } 

    } 
    catch (Exception ex) 
    { 

    } 
} 
+0

@ X-TECH只是有點不同的問題:) –

+0

只是爲了澄清數組將始終有-1, - 2或n來自方法指示器。但非常感謝! –

1

您的交換機的情況下將不會執行,因爲他們是消極的,你上如果條件真正。還可以指派值resul [1]

所以編輯爲:

int input; 
if (!int.TryParse(Console.ReadLine(), out input); 
{ 
    Console.WriteLine("Invalid number"); 
} 
else 
{ 
    resul[1] = input; 
}  
if (resul[1] > 0) //use resul[1]<1 for negative switch case 
{ 
    switch (resul[1]) 
    { 
     case 1:  
      Console.WriteLine("Username taken.");  
      break;  
     case 2:  
      Console.WriteLine("Email address taken.");  
      break;  
    }  
    Console.WriteLine("User added."); 
    Assert.IsTrue(true); 
} 

編輯:Harshit Shrivastava說你有長度爲1申報陣列的權利,但你是在分配給第二個索引值。所以用resul [0]代替resul [0]