2009-03-06 11 views
0

Ich habe ein DataGrid, das die verfügbaren Klassen und Methoden in einer Assembly anzeigt. Here i ave das Bild von DatagridC# Frage über Daten Grid

angebracht

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

Jetzt ist meine Aufgabe Testfälle auf den Werten in dem Datagrid zu generieren ist. Hier sind einige Testfälle.

 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; 
    } 
} 
} 

Nun ist das Problem, alle Werte im Datenraster sind als String. Ich muss in Typen wie System.Reflection.MethodInfo, System.Type usw. umwandeln, damit ich solche Testfälle erzeugen kann?

Wie kann ich das tun oder gibt es eine andere Möglichkeit, solche Testfälle zu generieren?

+0

aber die Sache ist, ich sollte in der Lage sein, Werte in meinem DataGrid zu bearbeiten, aufgrund dessen ich Testfälle basierend auf den DataGrid-Werten generieren muss. Auch seine aus einem XML, aus dem ich die DataGrid-Werte aufgefüllt.! – SyncMaster

Antwort

3

Sie sollten nicht wirklich die Werte aus dem DataGrid selbst nehmen, da dies nur die UI-Kontrolle ist. Stattdessen sollten Sie herausfinden, woher sie kommen (wo das Grid belegt ist) und sich dort einklinken. Dann haben Sie alle Daten der richtigen Typen und hoffentlich wird es nicht UI-abhängig sein.

+0

+1, eine Ansicht sollte nicht Stateful sein, es ist eine Darstellung des Staates –

0

Hier ist ein MSDN-Artikel auf datengesteuerte Komponententests:

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

Es gibt ein ausgearbeitetes Beispiel gibt, die eine Datenbank enthält unter Verwendung der Werte zu speichern, in der Unit-Tests zu stopfen.

Ich würde gegen vollständige Code-Generierung (dh Code, der Ihre Einheit Test Körper sowie die Werte zu testen mit), wie Sie am Ende Code zwischen Ihren Testfällen und dem getesteten Code selbst, was führen kann zu subtilen Inkonsistenzen oder Fehlern.