Nunit: Le résultat vide du générateur `TestCaseSource` devrait échouer au test

Créé le 3 juin 2020  ·  3Commentaires  ·  Source: nunit/nunit

Lors de l'utilisation [TestCaseSource(nameof(GeneratorMethod))] , il serait logique d'échouer au test (ou de le marquer comme ignoré) si le générateur ne produit aucune entrée. Au moins, ne montrez pas que le test est réussi :/

Commentaire le plus utile

Quelques points à considérer...

  1. Il peut y avoir plusieurs sources, nous devons donc préciser si la discussion s'applique à __chaque__ source ou au résultat agrégé de toutes les sources.

  2. Les sources génèrent des tests, pas seulement des données. Si aucun test n'est généré, il n'y a rien à échouer ou à ignorer. Dans un passé lointain (V2), nous avons généré un faux test d'échec, qui a fini par être à la fois désordonné dans le code et déroutant pour les utilisateurs.

  3. Une méthode de test sans cas est un peu comme une méthode sans code. Aussi comme un luminaire sans tests. Nous considérons ceux qui passent.

  4. Si vous appelez votre test une théorie, vous obtiendrez un échec s'il n'y a pas de cas de réussite.

Je voterais pour laisser le comportement actuel mais donner à l'utilisateur un moyen de demander un message d'avertissement si aucun cas n'est généré.

Tous les 3 commentaires

Si ma mémoire est bonne, cela fonctionne comme il le fait en raison d'un rapport de bogue il y a quelques années, qui nous a convaincus qu'il devrait passer dans ce cas.

😢

Je viens d'écrire un test avec (actuellement) un élément dans la source, et, étant un nouveau test dans un cycle TDD, je m'attendais à ce qu'il échoue, seulement pour le trouver réussi... j'ai donc dû retrouver mon générateur défectueux.

Peut-être que l'échec est un peu trop draconien (ma préférence, mais peut être ennuyeux pour le journaliste du numéro précédent). Que diriez-vous de marquer le test comme sauté ?

Quelques points à considérer...

  1. Il peut y avoir plusieurs sources, nous devons donc préciser si la discussion s'applique à __chaque__ source ou au résultat agrégé de toutes les sources.

  2. Les sources génèrent des tests, pas seulement des données. Si aucun test n'est généré, il n'y a rien à échouer ou à ignorer. Dans un passé lointain (V2), nous avons généré un faux test d'échec, qui a fini par être à la fois désordonné dans le code et déroutant pour les utilisateurs.

  3. Une méthode de test sans cas est un peu comme une méthode sans code. Aussi comme un luminaire sans tests. Nous considérons ceux qui passent.

  4. Si vous appelez votre test une théorie, vous obtiendrez un échec s'il n'y a pas de cas de réussite.

Je voterais pour laisser le comportement actuel mais donner à l'utilisateur un moyen de demander un message d'avertissement si aucun cas n'est généré.

Cette page vous a été utile?
0 / 5 - 0 notes