Si je vous comprends bien, vous avez un morceau de code qui ne peut pas compiler et que vous voulez écrire le test unitaire qui échoue si le code ne compile pas vraiment. Si tel est le cas, vous ne devriez pas écrire de tests unitaires. Vous devez comprendre que vous devez écrire des tests unitaires uniquement pour votre code, pas le code que quelqu'un d'autre a écrit.
Vous ne précisaient pas le langage de programmation, alors je vais faire quelques pseudo-code. Supposons que vous écrivez une fonction pour ajouter deux nombres:
function add(a, b) {
return a + b;
}
Très simple. Vous devriez tester cette unité, par ex. en faisant des tests comme le ci-dessous:
function testAdd() {
assertEquals(4, add(2, 2));
assertEquals(46, add(12, 34));
}
Cependant, vous devez pas écrire un test qui vérifie si +
opérateur fonctionne bien. C'est le travail de quiconque a écrit la bibliothèque qui implémente comment l'opérateur +
fonctionne vraiment.
Donc, si tel est le cas, ne pas écrire des tests unitaires. Compiler votre code est le travail de votre compilateur. Le compilateur doit signaler qu'il y a une erreur de compilation d'une manière appropriée. Vous ne devriez pas tester si le compilateur fait son travail correctement - tester c'est le travail des personnes qui écrivent le compilateur.
Quelle langue? – cdhowie
Vous pourriez générer un code de sécurité que vous connaissez et qui ne devrait pas compiler et alimenter votre compilateur (via la ligne de commande) et vérifier les résultats de votre test unitaire. Cependant, je suis généralement d'accord avec la réponse d'icyrock.com. – Steven