Domanda

Voglio ottenere autotest per eseguire test di accettazione Steak ogni volta che uno dei file in questione mia rotaie di app è cambiato. Dopo aver studiato proprie configurazioni Autotest di RSpec e cetriolo di, sto cercando le seguenti mappature:


Autotest.add_hook :initialize do |at|
  at.add_mapping(%r%^spec/acceptance/.*_spec.rb$%, true) { |filename, _|
    filename
  }

at.add_mapping(%r%^app/(models|controllers|helpers|lib)/.rb$%) { at.files_matching %r%^spec/acceptance/._spec.rb$% }

at.add_mapping(%r%^app/views/(.*)/.rb$%) { at.files_matching %r%^spec/acceptance/._spec.rb$% } end

il primo funziona: ogni volta che una specifica Bistecca viene modificato, esso viene eseguito di nuovo.

, ma il secondo e il terzo non lo fanno. modificare i file di origine sotto le sottodirectory / app appena viene ignorato.

qual è il modo corretto per ottenere questi mapping al lavoro?

grazie Oliver

È stato utile?

Soluzione

Ho appena cambiato il mio file .autotest aggiungere:

Autotest.add_hook :initialize do |at|
  at.add_mapping(%r%^spec/acceptance/.*_spec.rb$%, true) { |filename, _|
    filename
  }

  at.add_mapping(%r%^app/(models|controllers|helpers|lib)/.*rb$%, true) {
    at.files_matching %r%^spec/acceptance/.*_spec.rb$%
  }

  at.add_mapping(%r%^app/views/(.*)$%, true) {
    at.files_matching %r%^spec/acceptance/.*_spec.rb$%
  }
end

E questo funziona, ma non so gli effetti collaterali di invocare prove di collaudo prima di altri (la bandiera true su add_mapping)

Altri suggerimenti

Per RSpec 1.3:

Ho dovuto usare il: gancio post_initialize perché il built-in inizia supporto RSpec cancellando tutte le mappature esistenti. Così si stava schiarendo questi fuori e quindi aggiungendo le mappature RSpec predefinite. Ma, usando il gancio post_initialize (anziché: inizializzazione nella prima riga) risolto

.

Ho anche dovuto mettere tutto questo in autotest / discover.rb invece di .autotest.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top