我有一个DataGrid,它在程序集中显示可用的类和方法。 这里我附上了dataGrid的图片
alt text http://img150.imageshack.us/img150/5109/datagrid.png
现在我的任务是根据DataGrid中的值生成testCases。这里有一些测试用例。
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 :(得分:3)
您不应该从dataGrid本身获取值,因为这只是UI控件。相反,你应该找出它们来自哪里(网格填充的地方)并在那里连接。然后,您将拥有正确类型的所有数据,并希望它不依赖于UI。
答案 1 :(得分:0)
以下是关于数据驱动单元测试的MSDN文章:
http://msdn.microsoft.com/en-us/library/ms404708%28VS.80%29.aspx
那里有一个有用的例子,包括使用数据库存储值以插入单元测试。
我建议不要生成完整的代码(即生成单元测试主体的代码以及要测试的值),因为最终会在测试用例和测试代码本身之间放置代码,这可能导致微妙的不一致或错误。