Saya ingin dapat menjalankan tes file spec tunggal - untuk satu file yang saya edit, misalnya. rake spec
mengeksekusi semua spesifikasi. Proyek saya bukan proyek Rails, jadi rake spec:doc
tidak berfungsi.
Tidak tahu apakah ini penting, tapi ini struktur direktori saya.
./Rakefile ./lib ./lib/cushion.rb ./lib/cushion ./lib/cushion/doc.rb ./lib/cushion/db.rb ./spec ./spec/spec.opts ./spec/spec_helper.rb ./spec/db_spec.rb
Doa mentah:
Sekarang cari tahu bagaimana cara menanamkan ini ke editor Anda.
sumber
Pertanyaan ini adalah yang lama, tetapi muncul di bagian atas Google ketika mencari cara menjalankan tes tunggal. Saya tidak tahu apakah ini tambahan baru, tetapi untuk menjalankan satu tes dari spec Anda dapat melakukan hal berikut:
di mana-line number- adalah nomor baris yang berisi bagian dari pengujian Anda. Misalnya, jika Anda memiliki spesifikasi seperti:
Katakanlah itu disimpan dalam spec / models / foo_spec.rb. Maka Anda akan menjalankan:
dan itu hanya akan menjalankan satu spec. Bahkan, angka itu bisa berkisar dari 2 hingga 5.
Semoga ini membantu!
sumber
require
spesifikasi Anda yang lain?rspec spec/models/foo_spec.rb:2:12:49
Anda juga dapat menggunakan teks aktual dari test case * e * xample dengan
-e
!Sehingga untuk:
kamu bisa memakai
tidak perlu menyapu di sini.
sumber
from help (spec -h):
Contoh: spec spec / runner_spec.rb -l 162
sumber
:
per dokumentasi dan jawaban populer.Jika Anda menginstal rspec sebagai plugin dan bukan sebagai permata, maka Anda tidak akan memiliki
spec
executable.Bagaimanapun, yang perlu Anda lakukan adalah menjalankan file menggunakan ruby. Kode rspec cukup pintar untuk menjalankan tes untuk Anda.
misalnya:
sumber
http://github.com/grosser/single_test memungkinkan Anda melakukan hal-hal seperti ..
sumber
Ruby 1.9.2 dan Rails 3 memiliki cara mudah untuk menjalankan satu file spesifikasi:
Penjelasan:
ruby
perintah cenderung lebih cepat daripadarake
perintah-I spec
berarti "sertakan direktori 'spec' saat mencari file"spec/models/user_spec.rb
adalah file yang ingin kita jalankan.sumber
Untuk menjalankan semua file rspec Anda:
rspec
Catatan: Anda harus berada di root proyek Anda
Untuk menjalankan satu file rspec:
rspec 'path_to/spec.rb'
Catatan: ganti 'path_to / spec.rb' dengan path Anda. Tanda kutip opsional.
Untuk menjalankan satu tes rspec dari satu file:
rspec 'path_to/spec.rb:7'
Catatan:: 7 adalah nomor baris tempat tes dimulai
sumber
Saya mengalami masalah untuk membuat contoh-contoh ini bekerja, mungkin karena posnya sudah tua dan perintahnya sudah berubah?
Setelah melihat-lihat saya menemukan ini bekerja:
rspec spec / model / user_spec.rb
Itu akan menjalankan hanya satu file dan memberikan output yang berguna di terminal.
sumber
specky.vim
sumber
Atau, lihat autotest.
Menjalankan autotest di jendela perintah akan berarti bahwa file spesifikasi akan dieksekusi setiap kali Anda menyimpannya. Juga, itu akan dijalankan setiap kali file yang Anda tentukan dijalankan.
Misalnya, jika Anda memiliki file spec model bernama person_spec.rb, dan file model yang dispesifikasikan disebut person.rb, maka setiap kali Anda menyimpan salah satu file ini dari editor Anda, file spec akan dieksekusi.
sumber
Meskipun banyak jawaban bagus ditulis untuk pertanyaan ini, tidak satupun dari mereka menggunakan pendekatan Rspec
tags
.Saya menggunakan tag untuk menjalankan satu atau lebih spesifikasi dalam file yang berbeda - hanya yang terkait dengan tugas pengembangan saya saat ini.
Misalnya, saya menambahkan tag "dev" dengan nilai "saat ini":
lalu aku lari
Tag / nilai yang berbeda dapat diatur dalam spesifikasi atau grup individual.
sumber
Katakanlah, Anda sedang menjalankan tes untuk membuat todo. Anda selalu dapat menjalankan kode spesifik todo spesifik menggunakan file file crete_spec.rb seperti di bawah ini.
Jika Anda ingin menjalankan semua spesifikasi dalam satu singkat.
Jika Anda ingin menjalankan semua spesifikasi pada pengguna pengontrol tertentu ini.
Semoga ini memberi Anda lebih banyak pengertian!
sumber