2009-03-06 57 views
0

我有一個DataGrid,它顯示程序集中可用的類和方法。 在這裏,我AVE連接的數據網格有關數據的C#問題Grid

的圖片

alt text http://img150.imageshack.us/img150/5109/datagrid.png

現在我的任務是基於DataGrid中值測試用例。這裏有幾個測試用例。

 namespace proj.Test { 
     using System; 
     using NUnit.Framework; 
     using proj; 


     [TestFixture()] 
     public class TestClass1 { 

      [Test()] 
      public virtual void Testadd1() { 
       Class1 Class1 = new Class1(); 

       int a = 2147483647; 
       int b = 2147483647; 

      } 

      [Test()] 
      public virtual void Testadd2() { 
       Class1 Class1 = new Class1(); 

       int a = 2147483647; 
       int b = -2147483648; 

      } 

      [Test()] 
      public virtual void Testadd3() { 
       Class1 Class1 = new Class1(); 



       int a = 2147483647; 
       int b = -2147483647; 

      } 

      [Test()] 
      public virtual void Testadd4() { 
       Class1 Class1 = new Class1(); 

       int a = 2147483647; 
       int b = 2147483646; 
    } 
} 
} 

現在的問題是,DataGrid中的所有值均爲String。我需要轉換成像System.Reflection.MethodInfo,System.Type等類型,以便我可以生成這樣的測試用例?

我該怎麼做,或者是否有其他可能性來生成這樣的測試用例?

+0

但事情是,我應該能夠編輯我的dataGrid中的值,因此我必須根據dataGrid值生成testCases。 也來自一個XML,從中我填充了dataGrid的值。 – SyncMaster 2009-03-06 14:02:06

回答

3

您不應該真的從dataGrid本身獲取值,因爲這只是UI控件。相反,你應該找出它們來自哪裏(網格在哪裏填充)並掛在那裏。然後你將獲得所有正確類型的數據,並希望它不會依賴於UI。

+0

+1,視圖不應該是有狀態的,它是狀態的表示 – 2009-03-06 13:50:33

0

這裏有一個數據驅動的單元測試的MSDN文章:

http://msdn.microsoft.com/en-us/library/ms404708%28VS.80%29.aspx

有一個工作例如有這包括使用數據庫來存儲值插到你的單元測試。

當你最終在你的測試用例和被測代碼本身之間放置代碼時,我建議你不要完全生成代碼(即生成你的單元測試體的代碼以及要測試的值),這可能導致微妙的不一致或錯誤。