我有一个DataGrid,它在程序集中显示可用的类和方法。 这里我附上了dataGrid的图片

替代文字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等类型,以便我可以生成这样的测试用例?

我该怎么做,还是有其他可能产生这样的测试用例?

有帮助吗?

解决方案

您不应该从dataGrid本身获取值,因为这只是UI控件。相反,你应该找出它们来自哪里(网格填充的地方)并在那里挂钩。然后,您将拥有正确类型的所有数据,并希望它不依赖于UI。

其他提示

以下是关于数据驱动单元测试的MSDN文章:

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

那里有一个有用的例子,包括使用数据库存储值以插入单元测试。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top