背景
自分でWebアプリ作ろうとしたら、いつの間にかテストの地代は移り変わりrspec+cucumberからrspec+turnipになっていました。テストファーストにということで、早速featureファイルを書いてテストをしてみました。
環境はMac OSX 10.12.1でRails 5.0です。
エラー内容
WARNING: cannot load such file -- gherkin_lexer_en.so
Couldn't load gherkin_lexer_en.so
The $LOAD_PATH was:
{ライブラリのパスがずっと...}
gherkinのライブラリがどこにもないよということらしく、これ自体はgherkinで既知の問題でした。
対処法はgherkin-2.12.2/lib/gherkin/c_lexer.rb
にあるPOSIXを空にしておくそうです。ただ、これを行ってもエラーが解消されませんでした。
対処法
gherkinのver2を使っていてもらちがあかなかったので、gerhkinをver4にすることにしました。
turnipは2.0ではgherkin4をサポートしていましたが、この組み合わせでも上手くいきませんでした。
結局、turnipのbeta版を使う事にしました。
gem 'turnip', '3.0.0.pre.beta.5'
まとめ
同じ事をWindowsで事前にした時は上手くいっていたので、過信していました。エラー分を見た上で、きちんと内容を理解しないといけないと思いました。