Jika Anda menulis tes untuk proyek Anda dan menggunakan
factory_bot untuk menghasilkan data pengujian, saya
berikan kepada Anda permata
factory_trace , yang akan membantu Anda menjaga pabrik & sifat Anda tetap mutakhir.
Apa fungsinya?
Selama peluncuran pengujian Anda, permata memantau penggunaan pabrik-pabrik tertentu, dan pada akhir pelaksanaannya menampilkan laporan hasil.
$ FB_TRACE=1 rspec total number of unique used factories & traits: 3 total number of unique unused factories & traits: 2 unused global trait with_email unused factory admin
Integrasi Proyek
Untuk RSpec, cukup dengan menginstal permata dan Anda dapat menggunakannya, untuk tester lain, cukup untuk melakukan manipulasi sederhana:
Eksekusi paralel / potong
Seringkali, jika pengujian memakan waktu lama, mereka dijalankan dalam proses yang berbeda di bagian-bagian, dan agar data pada pabrik yang tidak digunakan menjadi benar, perlu untuk memproses statistik dari semua tes.
Ini dapat dilakukan sebagai berikut:
Bagaimana cara kerjanya?
Berkat penerapan
factory_bot menggunakan
ActiveSupports::Notifications
mudah untuk menambahkan panggilan balik ketika pabrik digunakan:
ActiveSupport::Notifications.subscribe('factory_bot.run_factory') do |_name, _start, _finish, _id, payload| name = payload[:name] traits = payload[:traits] storage[name] ||= Set.new storage[name] |= traits end
Dan setelah mengumpulkan semua informasi, kami menemukan pabrik yang tidak digunakan dengan algoritma sederhana.
post scriptum
Cobalah sendiri dan bagikan tanggapan Anda, saya akan berterima kasih!
Terima kasih atas perhatian anda