web-dev-qa-db-fra.com

Pourquoi WP_Mock n'est-il pas utilisé à la place de WP_UnitTestCase pour l'écriture de tests unitaires par la plupart des plugins?

Pour écrire des tests unitaires, pourquoi la plupart des plugins utilisent-ils WP_UnitTestCase au lieu de bibliothèques populaires telles que WP_Mock ?
La raison pour laquelle je pose cette question est parce que WP_UnitTestCase ne semble pas être un cas de test unitaire, mais un test d'intégration car il nécessite un environnement de test WordPress et des appels de base de données vers WordPress-test-db? Tandis que WP_Mock bloque toutes les fonctions WP, vous pouvez tester la classe séparément (ce qui correspond également à la définition des tests unitaires). Y a-t-il quelque chose qui me manque ici?

2
learning_13

L’un est officiel, l’autre est une bibliothèque tierce par 10up, alors les gens ont tendance à utiliser le WP_UnitTestCase officiel

Il n'y a pas de bon ou de mauvais choix cependant, utilisez la bibliothèque que vous préférez

Y a-t-il quelque chose qui me manque ici?

Non, certains tests effectués par le noyau nécessitent une installation temporaire WP. Certaines anciennes API n'étaient pas conçues pour l'isolation de test. De ce fait, WP_UnitTestCase et WP_Mock sont tous deux capables d'effectuer des tests unitaires, mais WP_UnitTestCase est également utilisé pour d'autres types de tests.

Cependant, pour vos besoins en tant que plugin ou auteur de thème, cette information n'est pas pertinente et constitue une option. C'est vraiment à votre préférence personnelle

4
Tom J Nowell