J'ai une méthode qui utilise une instruction Assembly.LoadFrom (...) et renvoie les cultures supportées de cet assemblage satellite, donc comment pourrais-je écrire des tests unitaires pour ce type de méthodes. Ce que j'ai fait a été enveloppé dans cette méthode/logique statique pour renvoyer des cultures dans une autre classe et utiliser sa méthode d'instance. Est-ce la bonne approche?TDD - Comment écrire un cas de test pour une méthode en tant que Assembly.LoadFrom (...)
Répondre
Est-ce la situation?
aMethod(whatToLoad) {
// other stuff
x = Assembly.LoadFrom(whatToLoad);
// code using x
}
Premier principe: Nous nous concentrons sur les tests aMethod(), les tests de Assembly.LoadFrom() est un problème distinct. Pendant que nous construisons des tests pour aMethod(), nous n'essayons pas de tester ses dépendances.
Alors, de quel type de tests pourrions-nous avoir besoin?
- que nous adoptons la bonne valeur pour whatToLoad
- que nous stockons correctement/utiliser la valeur renvoyée
- que nous traitons correctement les erreurs ou les exceptions lancées à partir Assembly.LoadFrom()
Il est plus facile à faire si le test peut fournir une implémentation Mock. Ensuite, nous pouvons tester 1 en vérifiant que le Mock a reçu la valeur attendue. Test 2 en retournant une valeur bien définie (ou pour tester plusieurs valeurs différentes) Testez 3 en générant des conditions d'erreur choisies.
Alors vous avez changé votre code à quelque chose comme ceci:
aMethod(loader, whatToLoad) {
// other code
x = loader.Load(whatToLoad);
// code using x
}
Peut-être que l'on injecte chargé d'une autre manière, mais le point est que vous pouvez maintenant spécifier différents tests ma mise en place d'un loaoder approprié. Par exemple, pour le premier test. Donc, si c'est le genre de choses que vous faites alors oui, je dirais que vous activez le TDD.
- 1. Comment écrire une méthode qui prend une adresse pour un pointeur en tant que paramètre?
- 2. Comment écrire une méthode de test dans NUnit pour tester une méthode savefile?
- 3. Comment écrire un test pour une méthode qui retourne un IEnumerable
- 4. Comment puis-je mieux écrire des cas de test unitaires pour un analyseur?
- 5. Comment écrire une fonction jquery qui accepte un callback en tant que paramètre
- 6. Comment passer une méthode en tant que paramètre dans Python
- 7. Comment écrire une méthode d'extension C# pour une classe générique
- 8. écrire une commande PowerShell pour accepter un scriptblock en tant que paramètre
- 9. type anonyme en tant que paramètre de méthode
- 10. TDD: Où commencer le premier test?
- 11. Cas de test Junit pour la classe wrapper
- 12. Comment puis-je écrire un test unitaire pour l'événement Gridview_RowCommand?
- 13. Passing Interface en tant que paramètre à une méthode d'extension
- 14. GWT Test unitaire TDD et outillage
- 15. Les opérateurs en tant que paramètres de méthode en C#
- 16. Une méthode de classe qui se comporte différemment lorsqu'elle est appelée en tant que méthode d'instance?
- 17. Comment écrire une requête qui génère le numéro de ligne en tant que colonne?
- 18. Passer une méthode en tant qu'argument
- 19. Arrêt d'un test Web en cas d'échec d'une règle d'extraction
- 20. Initialiser un tableau de chaînes dans un appel de méthode en tant que paramètre en C#
- 21. Comment écrire des chaînes en tant que binaires dans un fichier?
- 22. Meilleure méthode pour écrire un pollueur d'email
- 23. Comment écrire une méthode d'extension générique pour convertir une liste en HashSet en utilisant HashSet.AddRange()?
- 24. Comment enregistrer une UIImage en tant que BMP?
- 25. C# - Comment définir une méthode en ligne Func <T> en tant que paramètre?
- 26. Comment développer des méthodes complexes avec TDD
- 27. Comment utiliser la méthode drawString pour écrire en diagonale
- 28. Définition d'une méthode Web asp.net 2.0 en tant que méthode GET
- 29. Meilleure méthode pour exécuter une application Java en tant que démon * nix ou service Windows?
- 30. Comment lire une liste de diffusion en tant que RSS