assert_checkerror

Vérifie qu'une commande lève l'erreur attendue.

📝 Syntaxe

  • assert_checkerror(command, expected_error_message)

  • r = assert_checkerror(command, expected_error_message)

  • [r, msg] = assert_checkerror(command, expected_error_message)

  • assert_checkerror(command, expected_error_message, expected_error_identifier)

  • r = assert_checkerror(command, expected_error_message, expected_error_identifier)

  • [r, msg] = assert_checkerror(command, expected_error_message, expected_error_identifier)

📥 Argument d'entrée

  • command - une chaîne contenant la commande à exécuter et tester pour les erreurs.

  • expected_error_message - une chaîne contenant le message d'erreur attendu qui devrait être levé.

  • expected_error_identifier - une chaîne contenant l'identifiant d'erreur attendu (optionnel).

📤 Argument de sortie

  • r - une valeur logique : true si le test réussit, false sinon.

  • msg - une chaîne contenant le message d'erreur. Si r == true, alors msg == ''. Si r == false, alors msg contient le message d'échec de l'assertion.

📄 Description

assert_checkerror vérifie que l'exécution d'une commande lève le message d'erreur attendu.

Si la commande ne lève aucune erreur, ou si elle lève une erreur avec un message différent de celui attendu, l'assertion échoue.

Lorsque le paramètre optionnel expected_error_identifier est fourni, la fonction vérifie également que l'identifiant d'erreur correspond à celui attendu.

Cette fonction est particulièrement utile pour les tests unitaires afin de s'assurer que les entrées ou opérations non valides génèrent correctement les conditions d'erreur attendues.

💡 Exemples

Teste que la fonction cos sans arguments lève l'erreur attendue :

assert_checkerror('cos', _('Wrong number of input arguments.'));

Exemple qui démontre l'échec d'assertion avec un mauvais message attendu :

try
    assert_checkerror('cos', _('Wrong error message.'));
catch ME
    disp(['Error: ' ME.message])
end

Test avec à la fois le message d'erreur et l'identifiant d'erreur :

assert_checkerror('mustBeFinite(NaN)', _('Value must be finite.'), 'Nelson:validators:mustBeFinite')

Utilisation des valeurs de retour pour gérer les résultats d'assertion :

[r, msg] = assert_checkerror('cos', _('Wrong number of input arguments.'));
if r
    disp('Test passed: cos function properly raises expected error')
else
    disp(['Test failed: ' msg])
end

🔗 Voir aussi

assert_istrue, assert_isfalse.

🕔 Historique

Version
📄 Description

1.0.0

version initiale

Last updated

Was this helpful?