2

私はすべてに Coffeescript を使用していますchai.jsが、テストに含めようとして問題が発生しました。

configs/testacular.conf.jsはこのように見えます(相対に注意してくださいbasePath):

basePath = '../';

// Install devDependencies with `npm install` first before attempting to run Testacular!
files = [
  MOCHA,
  MOCHA_ADAPTER,
  'assets/js/lib/**/*.js',
  'test/lib/angular/*.js',
  'test/unit/**/*.coffee',
  'assets/js/*.coffee',
  'node_modules/chai/chai.js'
];

autoWatch = true;

browsers = ['Chrome'];

chai をwithnode_modules/chai/chai.js経由でインストールしたいので、ソースに含めるのではなくリストします。devDependenciesnpm install

私のテストは生きていてtest/unit/coolSpec.coffee、次のように読みます:

"use strict"

should = chai.should()

# Mocha/Chai specs for controllers go here
describe "OverviewCtrl", ->
  beforeEach ->
    ctrl = new OverviewCtrl()

  it "should do something awesome.", ->
    1.should.be.a 'string'

しかし、testacular は見つかりませんchai

Uncaught ReferenceError: chai is not defined
    at /.../test/unit/coolSpec.coffee-compiled.js:5
Chrome 25.0 (Linux): Executed 0 of 0 ERROR (0.386 secs / 0 secs)

RequireJS に頼らずにJavascript のインポートを管理するにはどうすればよいですか??

編集:ここのtestacularドキュメントによると、 files 配列にファイルをリストする効果は、<script>テスト時にブラウザーにタグを挿入する効果とまったく同じです。これは、すべてのシンボルがインポートされたことを意味します。

しかし、それが問題なのかもしれません: http://chaijs.com/chai.js自体は RequireJS 用に書かれています。使うしかないかも!

4

1 に答える 1