2010-06-30 2 views
0

J'essaie d'introduire les tests unitaires et TDD dans mon code (travailler en équipe dans un grand projet préexistant). Le projet sur lequel je travaille utilise des XSD pour faire beaucoup d'accès aux données (souvent sans abstraction, c'est-à-dire des appels de base de données à partir des pages .aspx.cs, ce qui est une autre question que je souhaite aborder). .Comment dois-je procéder pour se moquer des appels à l'accès aux données XSD?

Ma question est: comment puis-je simuler l'accès à la base de données en utilisant des XSD dans mes tests unitaires? Comme ils sont fortement typés, il n'est pas aussi simple que d'ajouter une interface avec les méthodes Update() ou Insert(), car chaque DataTableAdapter de XSD a des arguments différents pour ses diverses méthodes.

Quelqu'un a-t-il des suggestions?

+0

Voulez-vous parler XSD général (XML Schema Definition) ou Strong Adapted Data Adapters? –

+0

Les fichiers XSD génèrent les objets Adapter fortement typés: j'ai tendance à les appeler XSD, désolé si cela était confus. –

Répondre

1

Si vous faites référence aux ensembles de données et aux adaptateurs Strong Typed, vous pouvez utiliser une classe partielle pour lier une interface à vos objets. Vous pouvez ensuite simuler ces objets d'accès aux données comme n'importe quel autre objet avec votre cadre de simulation préféré.

... Supposons que PersonTable a deux colonnes {Nom, String}, {âge, Int32} ...

//Add other interfaces as needed 
public interface IPerson 
{ 
    string Name { get; set; } 
    int Age { get; set; } 
} 

public partial class DataSet1 
{ 
    partial class PersonTableDataTable 
    { 
    } 
    partial class PersonTableRow : IPerson 
    { 
    } 
} 
+0

une chance d'un exemple de code court? –

+0

Si vous explorez votre code et le fichier '[DataSet] .Designer', vous pourrez trouver les classes dont vous avez besoin pour travailler avec les classes partielles. Vous pouvez également faire un clic droit sur votre tableau dans le volet de conception, puis sur "Voir le code". Cela devrait créer les fichiers de classe partielle pour vous. –

Questions connexes