Situation:我目前正在使用QUnit测试类型记录/Javascript中的项目,当我在浏览器中运行它们时,一切都很好。
Problem:我正在尝试使用grunt以无头模式运行QUnit测试(我需要它来进行持续集成测试),而且测试不能正常运行。
Configuration,下面是我当前设置的东西:
Gruntfile.js
package.json
src/
- Ts source files
test/
- config.js
- Test.ts
- Test.js
- test.htmlGruntfile.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']);
};package.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/"
};发布于 2015-01-21 15:45:15
实际上我成功地让它运转起来了。我改变了两件事:
tsc --module amd --target ES5 ./src/*.ts在src文件夹中编译了文件,测试文件在test文件夹中。我为这件事自责..。因此,我简单地在tsc --module amd --target ES5 ./test/*.ts文件中添加了.travis.ymlQUnit.config.autostart = false;自动启动测试,并让它们在需要时使用QUnit.start();启动--我将这个start()放在Test.js文件的末尾,这样测试只在QUnit完成加载时才开始。https://stackoverflow.com/questions/28022528
复制相似问题