Comment puis-je faire en sorte que Mix exécute uniquement des tests spécifiques à partir de ma suite de tests?
Lors de l'exécution mix test
tous les tests sont exécutés
Il existe 5 façons d'exécuter uniquement des tests spécifiques avec Elixir
exécuter un seul fichier avec mix test path_to_your_tests/your_test_file.exs
Cela exécutera tous les tests définis dans your_test_file.exs
exécuter un test spécifique à partir d'un fichier de test spécifique en ajoutant deux points et le numéro de ligne de ce test
par exemple mix test path_to_your_tests/your_test_file.exs:12
exécutera le test à la ligne 12 de your_test_file.exs
définir une balise à exclure de vos méthodes de test
defmodule MyTests do
@tag disabled: true
test "some test" do
#testtesttest
end
end
sur la ligne de commande, exécutez vos tests comme celui-cimix test --exclude disabled
définir une balise à inclure dans vos méthodes de test
defmodule MyTests do
@tag mustexec: true
test "some test" do
#testtesttest
end
end
sur la ligne de commande, exécutez vos tests comme celui-cimix test --only mustexec
Excluez généralement certains tests balisés en les ajoutant à votre test/test_helper.exs
fichierExUnit.configure exclude: [disabled: true]
Attention: Mix a un --include
directive. Cette directive est [~ # ~] pas [~ # ~] identique à --only
directive. Inclure est utilisé pour rompre la configuration générale (exclusion) du test/test_helper.exs
fichier décrit sous 4).
Pour une raison quelconque, googler pour elixir mix include tests
ou similaire n'apparaît jamais sur mes résultats de recherche, j'ai donc écrit cette entrée et sa réponse. Pour plus d'informations, voir la documentation Mix .