状況: 現在、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 あります。また、typescript のコンパイルは正常に実行されます。)
編集:そして、誰かがそれを求めたので、Test.htmlファイルの内容は次のとおりです:http://pastebin.com/LN3igmjc
編集 2: config.jsの内容も次のとおりです。
var require = {
baseUrl: "../src/"
};