/ / Ruby modul s rspec na randomizáciu počasia - ruby, rspec, modul

Modul Ruby s rspec na náhodný výber počasia - ruby, rspec, modul

Som nový v rspec a moduloch a ja som malproblémy s tým od p. Chcem vytvoriť modul, ktorý môžem volať / odovzdať do svojho súboru Airport.rb, aby som náhodne rozdelil počasie medzi „slnečným“ a „búrlivým“. Mám problémy s prácou s rspec, takže sú vítané všetky odporúčania týkajúce sa zdrojov.

počasie sa stále vracia pomocou rspec ako nedefinovaná premenná.

weather.rb (modul)

    module Weather
def reading?
weather = ["Sunny", "Stormy"]
weather.sample
end
end

spec:

require "./lib/weather"

class WeatherHolder; include Weather; end

describe Weather do

let(:holder) {WeatherHolder.new}

it "should read the weather" do
expect(weather).to eq(reading)
end
end

odpovede:

1 pre odpoveď č. 1

let(:holder) {WeatherHolder.new} by mala byť let(:weather) {WeatherHolder.new} a potom musíte zistiť, ako zavolať reading? fungujú na premennej počasia.

Skúste niečo podobné

describe Weather do

let(:weather) {WeatherHolder.new}

it "should read the weather" do
expect(["Sunny", "Stormy"]).to include(weather.reading?)
end
end

Toto funguje na mojom počítači.


1 pre odpoveď č. 2

Neboli definované weather vo vašej špecifikácii, ani reading z tohto dôvodu. Pravdepodobne chcete expect výraz, ktorý zahŕňa holder.reading?.