La structure de test unitaire de Ruby exécute des tests unitaires même si personne ne crée d'objet de test unitaire. Par exemple,Exécuter le code à la fin du module/classe, comme le test/unité de Ruby
dans MyUnitTest.rb
require 'test/unit'
class MyUnitTest < Test::Unit::TestCase
def test_true
assert true
end
end
et quand j'invoque ce script comme
ruby MyUnitTest.rb
méthode test_true est exécuté automatiquement. Comment cela est-il fait? J'essaie de trouver un cadre qui peut faire de même. Je ne veux pas "si __ FICHIER __ == $ 0" à la fin de chaque module qui utilise mon framework.
merci.
mais vous pouvez redéfinir 'Class.inherited' pour votre classe afin d'obtenir des références à toutes les sous-classes, puis jouer avec elles dans votre hook' at_exit'. – rampion