executando tarefa de rake
-
28-09-2019 - |
Pergunta
Por que quando eu executo a tarefa:
my_project> rake import:twitter
Task.Path: Lib/Task/import_twitter.rake
namespace :import do
task :twitter => :environment do
puts "importing...."
end
end
Então os testes também são executados?
Na saída do console:
importing....
Loaded suite C:/Ruby/bin/rake
Started
Finished in 0.001 seconds.
0 tests, 0 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifica
tions
0% passed
Como não executar os testes, quando a tarefa é executada?
Solução
Oi você pode escrever sua tarefa e escrever um novo que invocará duas tarefas separadas - execute testes e o seu como algo como task :run_all => ['db:test:clone ', 'db:test:prepare ', 'test:units', :your_task]
Outras dicas
Não há testes executados (você sempre tem a contagem 0).
Você obtém a estatística de teste sempre se carregar test/unit
. Basta tentar um arquivo com:
require 'test/unit'
Você pode verificar seu RakeFile, se você carregar em algum lugar test/unit
? (talvez esteja em um dos arquivos necessários) Você pode verificar $"
se contiver test/unit
Antecedentes: a unidade de teste começa at_exit
(final do script) Algumas rotinas e procuram métodos de teste dentro de crianças de teste :: unit :: testcase e as executa. Depois disso, a estatística é escrita. Sem testes, você obtém a estatística de teste 'vazia'.