8
votes

Puis-je inclure un message en pré-post et postconditions

J'ai ce (non (1 (= (= (: longueur% 1) 0)%)) code> comme postcontion. Écrit comme ceci, il est assez clair, mais quand cette condition n'est pas rencontrée, je reçois cela:

AssertionError Assert failed: (not-zero-length %)


1 commentaires

Cette réponse a résolu ce problème pour moi Stackoverflow.com/a/24874961/3646180


3 Réponses :



2
votes

expansion sur une suggestion ci-dessus: xxx

Lorsque vous nommez une fonction anonyme, toutes les erreurs impliquant que FN seront plus lisibles

aussi, comment est-ce que vous avoir deux% de substitution ci-dessus? # () ne nid pas.


1 commentaires

% dans une postcondition pose la valeur de retour de la fonction. Une autre raison d'utiliser (fn ...) au lieu de # (...) je suppose.



6
votes

Ce Post dans le même thread suggère l'utilisation du clojure .test / est macro, qui renvoie un message d'erreur significatif. xxx

retourne xxx


1 commentaires

L'utilisation de clojure.test / est en dehors des tests gâchera vos statistiques de test. Par exemple. Lorsque vous exécutez vos tests, il signalera la voie supérieure «Nombre d'affirmations» que ce qui se passe vraiment dans le test. Par conséquent, je ne recommanderais pas cette approche.