Lo sviluppo di gemme e di test

Io sono un nuovo sviluppo Rubino gemme, ma ho pensato di fare un tentativo.

Di recente il check-out l’ultimo episodio su Railscasts (http://railscasts.com/episodes/245-new-gem-with-bundler) sto usando Bundler per creare il mio gioiello.

Comunque sto tipo di idea su come testare il mio gioiello.

Certo ho potuto eseguire rake installare e quindi richiedono da irb, ma questo mi sembra un po ‘ lento flusso di lavoro per me.

Quello che vorrei fare è creare un manichino applicazione Rails e richiedono la gemma facendo riferimento al codice sorgente. È possibile questo? Sono sicuro di aver letto da qualche parte…

Grazie!

  • ps. Appena notato che ho potuto fare una “richiedono ‘lib/my_gem'” in irb, e non ho bisogno di installarlo. Ma cosa devo fare se voglio fare la stessa cosa, ma in Rails? ds.
InformationsquelleAutor Erik | 2010-12-20

 

4 Replies
  1. 33

    È possibile includere queste righe nel Rakefile:

    task :console do
      exec "irb -r mygem -I ./lib"
    end

    Questo permetterà di creare una task rake per inizializzare un nuovo irb sessione di precarico e la biblioteca. Ora, tutto quello che dovete fare è:

    $ rake console
    • Piuttosto fresco soluzione!
    • Test automatico è grande, ma a volte hai bisogno di curiosare per capire come funzionano le cose. Questo facilita il tutto per bene. Sostituire irb con pry per ancora più bang per il vostro buck.
  2. 24

    Non posso raccomandare questo guida da Ryan Bigg abbastanza: http://bundler.io/v1.16/guides/creating_gem.html. Cammina attraverso la generazione di un gioiello utilizzando Bundler e l’impostazione di test automatici. È possibile sviluppare le vostre caratteristiche, senza mai dover eseguire manualmente il codice. Si tratta di un flusso di lavoro sto usando per il mio gioiello di sviluppo e ha lavorato molto bene finora.

    AGGIORNAMENTO: Rileggendo la tua domanda, sembra che il gioiello è una Rotaie del motore. Vorrei raccomandare cercando José Valim del EngineX. Si tratta di un generatore che crea un gioiello con un manichino Guide app per il test (https://github.com/josevalim/enginex). Se hai già un sacco di codice, http://keithschacht.com/creating-a-rails-3-engine-plugin-gem/ potrebbe aiutare a configurare un manichino app per il test.

  3. 12

    Si può effettivamente fare:

    cd ~/my_gem_path & bundle console

    E questo sarà un test rapido:

    My::Gem::VERSION

    • Bello, questo funziona se la gemma non include Binari!
    • Fresco, se si utilizza pry invece di irb, c’è un extra (di tempo) passo: bundle config console pry
  4. 6

    È possibile di riferimento la gemma locale, ma se non si desidera eseguire bundle update ogni volta che si cambia la gemma, si può solo richiedere il file utilizzando il loro percorso completo, o spostando (o link simbolici) il vostro gioiello in /fornitore.

    Ma ad essere onesti, suona come avete bisogno di scrivere un po ‘ di prove! 😉 Manualmente il collaudo di ogni cambiamento sta per arrivare noioso e soggetto a errori. Se sei un nuovo iscritto, gemme, hanno uno sguardo alla fonte di altre gemme popolari e vedere come stanno testato.

    • Haha, sì, dopo aver letto la tua risposta e Joe inoltre, ho il vantaggio del test. Grazie!
    • Test manuale è grande, ma è anche necessario essere in grado manualmente a piedi attraverso il vostro codice con un obiettivo verso spotting casi d’uso i test sono mancanti. Plus test non è sempre perfettamente a riprodurre ‘live’ di lavoro, e si deve passare attraverso il codice almeno una volta di trovare quelli.

Lascia un commento