情况:我目前正在使用 QUnit 在 TypeScript/Javascript 中测试一个项目,当我在浏览器中运行它们时一切正常。
问题:我正在尝试使用 grunt 在无头模式下运行 QUnit 测试(我需要它来进行持续集成测试)并且测试无法正常运行。
配置 这是我当前设置的方式:
Gruntfile.js
package.json
src/
- Ts source files
test/
- config.js
- Test.ts
- Test.js
- test.html
Gruntfile.js
/*global module:false*/
module.exports = function(grunt) {
grunt.initConfig({
connect: {
server: {
options: {
port: 8000,
base: '.'
}
}
},
qunit: {
all: {
options: {
urls: [
'http://localhost:8000/test/test.html'
]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.registerTask('test', ['connect', 'qunit']);
};
包.json
{
// Name, version, description, repo and author fields...
"engines": {
"node": ">= 0.10.0"
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-watch": "~0.6.1",
"grunt-contrib-connect": "~0.9.0",
"grunt-contrib-qunit": "~0.5.2"
}
}
然后我有一个.travis.yml文件来运行所有这些。我不知道这是否真的很重要,因为测试既不能在 travis 也不能在我的本地环境中运行,但无论如何都是这样:
language: node_js
node_js:
- "0.11"
- "0.10"
before_install:
- "npm install grunt --save-dev"
- "npm install -g grunt-cli"
install:
- "npm install"
- "npm install -g typescript"
script:
- "tsc --module amd --target ES5 ./src/*.ts"
- "grunt test --verbose --force"
这是 travis 构建中出现错误的部分:http: //puu.sh/eKpWj/35614680e1.png
(当我在浏览器中运行它们时,我目前有大约 20 个断言通过。此外,打字稿编译运行正常。)
编辑:正如有人问的那样,这是 Test.html 文件的内容:http: //pastebin.com/LN3igmjc
编辑 2:这也是config.js的内容:
var require = {
baseUrl: "../src/"
};