2009-03-06 59 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

有一个工作例如有这包括使用数据库来存储值插到你的单元测试。

当你最终在你的测试用例和被测代码本身之间放置代码时,我建议你不要完全生成代码(即生成你的单元测试体的代码以及要测试的值),这可能导致微妙的不一致或错误。