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ď č. 1let(: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?
.