Yabu.log

ITなどの雑記

自動化したテストがたくさんエラーを吐いている

さて、最近導入してみたKarma + jasmineなテスト環境だが ローカルでは成功するが、travis上のものがエラーを吐いている。

Travis CI - Test and Deploy Your Code with Confidence

const Hoek = require('hoek');
^^^^^
SyntaxError: Use of const in strict mode.

strict modeやらconstやらまたES6か、と検討をつけつつエラーメッセージをググってみる。nodeのバージョン指定から7を消したらうまくいったとの事例を発見。*1

github.com

ググりまくった結果、travis.ymlにnodeのバージョンが設定されていなかったため、travis上ではかなり古いバージョンが動いていた?

ローカル

$ node -v
v8.8.1

travis

$ node --version
v0.10.48

ES6が対応していないバージョンのnodeが動いていたのか?とりあえずtravisで動かすnodeなどのバージョンはtravis.ymlで設定できるらしいから、バージョン指定を追加したところテストが成功した。

今まで動いていたものが急に壊れた理由はES6の文法を無理やり突っ込んだからだろう。phantomJsではlet文は使えなかったが、constは使えたので入れ込んだままにしていた。それが原因だと思う。

初心者が適当に作ってググりながらなんとか運用している感が強いが、英語の情報を我慢して読めば、トラブルシューティングになかなか役立つ情報に出会える(今回の事象は英語にアレルギーを持ったまま日本語オンリーでググってたら解決できなかった)

私のようなSIの底辺コピペプログラマーでも英語が我慢できるかできないかで結構差がつくと思う。

やっぱり英語の情報を根気よく読むことが大事だ。

*1:最近気になってるbabelのリポジトリじゃないですか