En fonction des caractéristiques que vous utilisez peut être trivial ou difficile. Vous pouvez utiliser l'espace de noms/alias de type pour utiliser une autre bibliothèque de classes pour faire des assertions et les attributs. J'ai écrit des programmes de console qui exécutent les tests manuellement - mais bien sûr j'ai eu accès aux espaces de noms et aux assemblys vs. Pour mono - ma suggestion serait d'utiliser un autre système de test en le faisant vous-même avec l'espace de noms system.reflection pour charger l'assembly, refléter les attributs et exécuter comme vous le souhaitez, sera fastidieux.
Par exemple:
Pseudo code:
var assembly = loadAsembly(....)
foreach(type in assembly.types) {
if(type is static class and had method with AssemblyInitialiseAttrubute)){
InvokeTheMethod(method);
}
}
foreach(type in assembly.types) {
if(type is not class and had method with TestClass)){
InvokeTheMethod(method);
}
foreach(method in type with ClassinitialiseAttribute)
}
... etc
Oui, pensé que je pourrais finir par rouler ma propre, mais je suis en maintenant pour une solution ready-made. Merci. – bright
Cela s'est avéré assez simple, même si j'ai actuellement une référence à l'ensemble de test unitaire VS qui définit les attributs (que je copie sur Mono, pas très kasher.) – bright
pourquoi ne pas définir ses propres attributs? alors vous obtenez le meilleur des deux mondes? –