Dopo l'aggiornamento da Rails 3.2 a Rails 4, la mia app funziona, ma i miei test, scritti con l'unità di test, sono un disastro.È ancora possibile utilizzare l'unità di prova nei binari 4?
Si dice che Minitest sia "compatibile" con l'unità di test. Tuttavia, se provo a usare il Minitest (ora in bundle), ci sono una serie di differenze - dai nomi e parametri delle assert * alle (chiaramente) molte altre cose sia grandi che sottili.
Se io invece cerco di evitare Minitest e tentare di mantenere il mio test-unit gioiello nei miei Gemfile, esplode prova rastrello, dicendo
undefined method 'refute_predicate' for class 'ActiveSupport::TestCase'
Ciò è dovuto aver chiamato
require 'rails/test_help'
: (
Ho cercato un po 'di tempo ma non ho ancora trovato il modo di continuare a utilizzare l'unità di test. L'unica alternativa sembra essere un (per noi, massiccio) refactoring di il nostro codice di test, poiché qualcosa come l'80% dei nostri test è rotto in qualche modo dalle incompatibilità di Minitest con l'unità di test.
Eppure leggendo cioè http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/ e http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 trovo alcuna menzione di questo, in sostanza, - mi sento come deve essere manca qualcosa.
È possibile rendere Minitest più compatibile con l'unità di test in modo sistematico? O continuare a utilizzare l'unità di prova in Rails 4?
Puoi essere più specifico su quali incompatibilità hai incontrato? – blowmage
assert_include vs. assert_includes, assert_not_include vs. assert_not_includes, assert_false vs. refute, assert_true vs. assert. Manca il metodo process_with_new_base_test (era necessario avvolgere questo per evitare di macchiare le variabili dell'istanza del controllore tra richieste sui test del controller). Con un mucchio di test ancora rotto, ho rinunciato a questo punto. –
Sareste in grado di eseguire l'associazione remota su questo? Sparami un'email e la configureremo. – blowmage