首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有正确运行Qunit测试

没有正确运行Qunit测试
EN

Stack Overflow用户
提问于 2015-01-19 10:30:35
回答 1查看 367关注 0票数 0

Situation:我目前正在使用QUnit测试类型记录/Javascript中的项目,当我在浏览器中运行它们时,一切都很好。

Problem:我正在尝试使用grunt以无头模式运行QUnit测试(我需要它来进行持续集成测试),而且测试不能正常运行。

Configuration,下面是我当前设置的东西:

代码语言:javascript
复制
Gruntfile.js
package.json
src/
  - Ts source files
test/
  - config.js
  - Test.ts
  - Test.js
  - test.html

Gruntfile.js

代码语言:javascript
复制
/*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

代码语言:javascript
复制
{
  // 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还是在我的本地环境中,测试都不会运行,但是无论如何,它都是这样的:

代码语言:javascript
复制
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的内容:

代码语言:javascript
复制
var require = {
    baseUrl: "../src/"
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 15:45:15

实际上我成功地让它运转起来了。我改变了两件事:

  1. 我没有编译测试,因为tsc --module amd --target ES5 ./src/*.tssrc文件夹中编译了文件,测试文件在test文件夹中。我为这件事自责..。因此,我简单地在tsc --module amd --target ES5 ./test/*.ts文件中添加了.travis.yml
  2. 最大的问题是QUnit测试在require.js工作之前就已经开始了。我使用的解决方案是告诉QUnit不要使用QUnit.config.autostart = false;自动启动测试,并让它们在需要时使用QUnit.start();启动--我将这个start()放在Test.js文件的末尾,这样测试只在QUnit完成加载时才开始。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28022528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档