Rspec-core: Cara mendapatkan nama spesifikasi di dalam blok `let`

Dibuat pada 28 Mei 2020  ·  5Komentar  ·  Sumber: rspec/rspec-core

Hai terima kasih untuk permata yang luar biasa seperti biasa :)

Saya ingin mendapatkan nama spesifikasi (= nama konteks?) di dalam blok let tetapi IDK jika ini memungkinkan atau tidak akan membantu jika Anda dapat menjawab terima kasih.

RSpec.describe Foo do
  describe 'bar' do
    context 'when something is happening' do
      let(:spec_name) { # would be awesome if I can get "Foo bar when something is happening returns true" here }

      it 'returns true' do
      end
    end
  end
end

Semua 5 komentar

Hai @take
Pasti itu mungkin:

      let(:spec_name) do |example|
        example.metadata[:full_description] # => "Foo bar when something is happening returns true"

      end

Saya yakin Anda dapat menggunakan parameter untuk it juga untuk mendapatkan informasi seperti itu dalam contoh itu sendiri.
Ada lebih banyak hal lain yang dapat diakses di sana.

Kau selalu diterima!

aha terima kasih banyak! 🙌

@pirj

apakah Anda tahu versi rspec-core mana yang menyertakan fitur ini? :mata:

di aplikasi rspec-core 3.9.2 saya, saya mendapatkan kesalahan berikut

Failure/Error: example.metadata[:full_description]

NoMethodError:
  undefined method `metadata' for nil:NilClass

@take Bisakah Anda memberikan sedikit lebih banyak konteks seperti apa kode Anda?
Kuncinya adalah do |example| di let(:spec_name) do |example| .

maaf masalah terpecahkan, terima kasih atas bantuannya! 🙌

Apakah halaman ini membantu?
0 / 5 - 0 peringkat