Come posso aggiungere un hook pre-commit che eseguirà i miei test rspec e, in caso di esito negativo, non completerà il commit. Posso ottenere i test da eseguire ma non impedire il commit su un eventuale difetto di loroCome può un hook di git pre-commit eseguire test rspec e prevenire un commit?
ho copiato .git/hooks/pre-commit.sample
-.git/hooks/pre-commit
Ho aggiunto rspec spec
vicino al fondo.
I test vengono eseguiti come parte del commit ... ma un errore non impedisce il completamento del commit.
$ git commit -m'test'
....................................................................................................F.............
Failures:
1) Link Good url SHOULD be valid
Failure/Error: expect(link.valid_get?).to be false #true
expected false
got true
# ./spec/models/link_spec.rb:26:in `block (2 levels) in <top (required)>'
Finished in 32.78 seconds (files took 3.58 seconds to load)
114 examples, 1 failure
Failed examples:
rspec ./spec/models/link_spec.rb:24 # Link Good url SHOULD be valid
[79230846_hook_to_run_tests 6c09570] test
1 file changed, 1 insertion(+)
create mode 100644 x.x
Forse ho bisogno di un modo diverso di eseguire i test RSpec che aumenteranno l'errore diverso da zero ho bisogno?
Attualmente è collocato nella parte inferiore:
...
echo
echo " git config hooks.allownonascii true"
echo
exit 1
fi
rspec spec
exec git diff-index --check --cached $against --
sto facendo tutto questo in un ramo (non master). Non sapevo se fosse rilevante.