我正在为所有内容使用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'];
我列出
node_modules/chai/chai.js
而不是将其包括在我的资源中,因为我希望使用devDependencies
通过npm install
安装chai。我的测试生活在
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'
但是,睾丸无法找到
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 documentation here,在files数组中列出文件的效果与在测试时将
<script>
标记插入浏览器的效果完全相同。这应该意味着所有符号都已导入。但是话又说回来,也许就是问题所在:http://chaijs.com/chai.js本身是为RequireJS编写的。我可能别无选择,只能使用它!
最佳答案
转到chai's home page,然后选择下载浏览器版本的chai脚本,而不是用于NodeJS的版本。
您可以在浏览器中进行测试的chai脚本的直接链接位于:http://chaijs.com/chai.js
关于javascript - 如何在不使用RequireJS的情况下使用Testacular管理(咖啡)导入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15299320/