Inizialmente, ogni gemma ha un layout tipico. Il codice è quasi completamente in lib
. Nella directory root, ci sono solo metadati come i README, il file gemspec
e alcuni dati di configurazione opzionali. Se si scrive un'app Web con Rails o Sinatra, vengono invece utilizzati gli standard di layout
In tutti i tipi di progetto, i test possono essere trovati in posizioni simili. A seconda del framework di test che si utilizza, ci sono diversi standard.
Se si utilizza Test::Unit, i test sono in una directory test
. Non esistono standard reali su come organizzare effettivamente i file di test in quella directory. Personalmente ho trovato utile rispecchiare almeno in parte il layout del file del codice testato. Se usi generosamente moduli/spazi dei nomi, questo dovrebbe renderlo piuttosto leggibile.
Se si utilizza RSpec, i test (denominati quindi specifiche) vengono inseriti in una directory spec
. Le note sopra riportate sul layout dei test attuali si applicano anche qui.
Alla fine, è principalmente una decisione degli sviluppatori su come impostare i test. Poiché i test sono un'area in cui ogni persona ha opinioni diverse (e stringhe), non c'è un percorso santo verso il successo. Dovresti dare un'occhiata ad alcune gemme che usi e come fanno cose. Un esempio di layout di Test :: Unit può essere trovato nelle gemme di Rails, ad es. per ActiveRecord. Un esempio per i test RSpec è il plugin chiliproject_backlogs per ChiliProject.
fonte
2011-11-20 18:36:49
@nash: questo è il primo commento che ho letto su SO che ho trovato scortese. –
Siamo spiacenti, è stato davvero maleducato. Proverò a capirlo. Ad esempio, puoi guardare qui la cartella specspec spec (https://github.com/rspec/rspec-core/tree/master/spec) Questi ragazzi sanno davvero come scrivere le specifiche. Ancora una volta mi dispiace. –