Bagaimana saya bisa menjalankan uji tunggal dari rangkaian uji rel?
rake test ANYTHING
sepertinya tidak membantu.
ruby-on-rails
unit-testing
rake
artemave
sumber
sumber
Jawaban:
CATATAN: Ini tidak menjalankan tes via
rake
. Jadi kode apa pun yang Anda miliki tidakRakefile
akan dijalankan.Untuk menjalankan tes tunggal, gunakan perintah berikut dari direktori utama proyek rails Anda:
Ini menjalankan tes tunggal bernama "nama", didefinisikan dalam kelas MyModelTest dalam file yang ditentukan. Test_name dibentuk dengan mengambil nama tes, menambahkannya dengan kata "test", lalu memisahkan kata-kata dengan garis bawah. Sebagai contoh:
Anda dapat menjalankan kedua tes melalui:
dan hanya tes kedua via
sumber
0 tests, 0 assertions, 0 failures, 0 errors
. Rails 3.0.7.-n "/good/"
. Shell melarikan diri selalu menyenangkan, jadi saya cenderung tetap pada regex sederhana, tetapi jauh lebih mudah daripada menulis nama tes penuh sepanjang waktu.test/
folder. Misalnya, jika saya ingin menjalankan tesactivesupport/test/core_ext/array_ext_test.rb
saya harusactivesupport/
terlebih dahulu.-n "/good/"
bekerja.Jalankan file uji :
Jalankan uji tunggal dalam file uji:
(Dari komentar @Puhlze.)
sumber
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
(lampirkan/paid accounts/
dengan tanda kutip tunggal)Untuk rel 5:
sumber
bin/rails test test/models/user_test.rb:27
Berkat @James, jawabannya sepertinya:
Anggap 22 adalah nomor baris dari tes yang diberikan. Menurut bantuan rel:
Harap perhatikan juga bahwa pengujian Anda harus diturunkan dari ActionDispatch :: IntegrationTest agar ini berfungsi (Itu kesalahan saya):
sumber
Di rel 5,
Saya menggunakan cara ini untuk menjalankan file uji tunggal (semua tes dalam satu file)
lihat di sini https://stackoverflow.com/a/41183694/3626659
sumber
Untuk menjalankan tes tunggal di suite Rails aktual:
sumber
Cara terbaik adalah dengan melihat langsung ke panduan: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
sumber
Itu pertanyaan konyol saya di tengah malam. Rails dengan ramah mencetak perintah yang dijalankannya
rake test
. Sisanya adalah latihan memotong dan menempel.sumber
Jika Anda ingin menjalankan tes tunggal, Anda bisa menjalankannya sebagai skrip Ruby biasa
Anda juga dapat menjalankan seluruh rangkaian (mis. ActiveRecord atau ActionMailer) dengan
cd
-ing ke direktori dan berjalanrake test
di dalam sana.sumber
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
-in tidak. Hanya untuk memperjelas (saya tidak yakin jika saya salah membaca ini, tetapi Anda memang mengatakan "file tes yang dihasilkan"), ini untuk perpustakaan Rails sendiri, bukan proyek Rails.Dalam situasi saya
rake
hanya bekerjaTESTOPTS="-n='/sample/'"
:sumber
Pertama, akses folder lib yang ingin Anda uji (ini penting) dan kemudian jalankan:
sumber
Folder rel
Catatan Anda perlu memuat folder yang sesuai: "activerecord / test" (di mana Anda memiliki tes)
sumber