JavaScript
karma

Karmaの ReferenceError: Can't find variable: chai エラーを解決

More than 3 years have passed since last update.

フロントエンドエンジニア養成読本のテストランナーの項を写経してたら思いがけないエラーに遭遇したのでその解決方法。

まずは、本の通り、foo.jsとfoo_spec.jsを書いて設定ファイル(karma.conf.js)を作ってからターミナル上でKarmaを起動します。

すると、


PhantomJS 1.9.7 (Mac OS X) ERROR

ReferenceError: Can't find variable: chai

Chrome 36.0.1985 (Mac OS X 10.9.4) ERROR

Uncaught ReferenceError: chai is not defined


のエラーが。

そこで、

karma.conf.jsの中を見て、

frameworks: ['mocha'],の部分を

frameworks: ['mocha', 'chai'],と書き換えて再度ターミナル上でKarmaを起動します。

まだエラーが出ます。


module.js:340

throw err;

^

Error: Cannot find module 'chai'


念の為にchaiを単独でインストールしてみます。

npm install chai

無事、テストが通ります。


INFO [karma]: Karma v0.12.19 server started at http://localhost:9876/

INFO [launcher]: Starting browser Chrome

INFO [launcher]: Starting browser PhantomJS

INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket 1yosHgWYO8vtW1NoG0JF with id 34000027

INFO [Chrome 36.0.1985 (Mac OS X 10.9.4)]: Connected on socket nTYAK3C5ieGDveSCG0JG with id 84770794

PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.004 secs / 0.003 secs)

PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.004 secs / 0.003 secs)

PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.004 secs / 0.003 secs)

PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.004 secs / 0.003 secs)

PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.004 secs / 0.003 secs)

Chrome 36.0.1985 (Mac OS X 10.9.4): Executed 4 of 4 SUCCESS (0.024 secs / 0.003 secs)

TOTAL: 8 SUCCESS