- ペアでやってる方は、随時、気になってること、気づいたことをお話してください:)
$
はコマンドラインでの実行を表現しているだけなので、打たなくでOKです:)- rspec https://github.com/rspec/
$ mkdir rspec-bird
$ cd rspec-bird
$ git init
※ キリのいいところで git commit
しましょう:)
$ gem i rspec
$ rspec --init
$ git add .
$ git commit -m 'rspec --init'
- どんなファイルがインストールされましたか?
- ※ commit してますか?
- どんなファイルが作られました?
- 他に気になることはありますか(?_?)
rspec-bird/bird.rb
class Bird
def tweet
'\_o< hi!'
end
end
- ※ commit してますか?
- 今実装した
tweet
はクラスメソッドですか?インスタンスメソッドですか? - 他に気になることはありますか(?_?)
rspec-bird
ディレクトリ直下で実行
$ irb
irb(main):001:0> require './bird'
=> true
irb(main):002:0> Bird.new.tweet
=> "\\_o< hi!"
- ※ commit してますか?
- 今実装した
tweet
はクラスメソッドですか?インスタンスメソッドですか? - 他に気になることはありますか(?_?)
rspec-bird/spec/bird_spec.rb
require './bird'
RSpec.describe Bird do
describe '#tweet' do
it '\_o< hi!が表示される' do
bird = Bird.new
expect(bird.tweet).to eq('\_o< hi!')
end
end
end
- ※ commit してますか?
#tweet
と書いてるのはどういう意味でしょうか?- 他に気になることはありますか(?_?)
rspec-bird
ディレクトリ直下で実行
$ rspec spec/bird_spec.rb
- ※ commit してますか?
#tweet
と書いてるのはどういう意味でしょうか?- greenになったら(specが通ったら)、red(specが通らない状態)になるか確認してみましょう
- どうするとspecが通らないようになると思いますか?
- 他に気になることはありますか(?_?)
\_o< =====
が表示されるようにしたい- specから書いてもいいし、実装から書いてもいい
- tweet でも
\_o<
があるし、ビーム出すメソッドでも\_o<
があるので、共通化したい - (テストはそのままでいいはず?)
- 他に気になることはありますか(?_?)