문제

어셈블리에 사용 가능한 클래스와 메소드를 표시하는 Datagrid가 있습니다. 여기 나는 DataGrid의 그림을 첨부했습니다

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의 모든 값은 문자열입니다. 그러한 테스트 사례를 생성 할 수 있도록 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