J'étudie la possibilité d'utiliser des tests unitaires parallèles pour nos projets et je m'interrogeais sur les meilleures pratiques pour écrire de tels tests unitaires parallèles.Meilleures pratiques pour l'écriture de tests unitaires parallèles
Répondre
Si, par tests unitaires parallèles, vous entendez des tests pouvant s'exécuter simultanément, le conseil le plus important que je puisse vous donner est d'éviter ce que l'on appelle les appareils partagés.
Le livre xUnit Test Patterns décrivent le terme Fixture, ce qui peut essentiellement être décrit comme tout le contexte dans lequel chaque test exécute, y compris les données persistantes et transitoires. Un Fixture partagé indique que les cas de test partagent un certain contexte lors de l'exécution. Si ce contexte est modifiable, des conditions de concurrence peuvent se produire. Garder un projecteur partagé immuable (ce que l'on appelle un projecteur partagé immuable) vous permettra d'exécuter des tests en parallèle, mais mieux encore, les appareils frais (où chaque scénario de test a son propre appareil) sont thread-safe par définition, puisque seul le scénario de test a lui-même accès au Fixture. Les exemples d'appareils partagés incluent tous les tests qui utilisent une base de données partagée, mais aussi les tests où vous avez un état de mémoire statique dans le système sous test (SUT) ou les tests eux-mêmes, vous devez donc éviter cette. Vous devez également garder à l'esprit que si votre SUT accède à des données partagées (statiques), cet accès lui-même doit être thread-safe.
Quelques interessting Liens pour vous:
Running Unit Tests in Parallel
Il y a quelques réponses de interessting dans cette question StackOverflow. J'espère que cela aidera.
- 1. Meilleures pratiques de tests unitaires pour les solutions Visual Studio
- 2. Meilleures pratiques pour les tests unitaires, les objets factices et ioc
- 3. Meilleures pratiques pour les tests d'intégration de fonctionnalités Eclipse
- 4. Meilleures pratiques Android Meilleures pratiques
- 5. Bonnes pratiques en écriture de tests unitaires avec NHibernate
- 6. Meilleures pratiques pour les tests fractionnés Applications Android
- 7. Selenium, Nunit Meilleures pratiques?
- 8. Tests unitaires pour Boost.Spirit
- 9. méthodes statiques et tests unitaires
- 10. Tests d'acceptation de tests unitaires?
- 11. Comment écrivez-vous des tests unitaires pour vos servlets java?
- 12. Ressources pour les meilleures pratiques TDD, méthodes, etc
- 13. Meilleures pratiques pour Python UnicodeDecodeError
- 14. Meilleures pratiques pour Entity Framework?
- 15. Quelles sont les meilleures pratiques dans vos tests?
- 16. Meilleures pratiques de surcharge
- 17. Meilleures pratiques de PyLint?
- 18. Dispositif "Echo" pour tests unitaires
- 19. Exemples de tests unitaires pour les outils de test VS2010
- 20. règles de tests unitaires
- 21. Tests unitaires, d'intégration et système pour les applications PHP
- 22. Meilleures pratiques pour l'écriture de widgets javascript
- 23. Meilleures pratiques pour l'API de procédure stockée?
- 24. meilleures pratiques pour définir l'environnement de développement
- 25. Meilleures pratiques pour les chaînes de connexion
- 26. Tests unitaires des packages DTS
- 27. Meilleures pratiques du site Sandboxing?
- 28. Tests unitaires pour l'échec de malloc()
- 29. NAnt meilleures pratiques
- 30. Meilleures pratiques NHibernate Transactions
Parlez-vous de tester un composant multithread en utilisant des appels parallèles? – falstro
Je cherche à exécuter des tests unitaires multiples (simultanément) en utilisant MBUnit, qui a un attribut/décoration parallélisable pour les tests unitaires - cela fera autant de tests en parallèle qu'il y a de cœurs sur la machine. (apparemment!) –
Ah, excellent! :) – falstro