如何通过本地服务器而不是文件系统使用Grunt运行QUnit测试?

时间:2014-05-29 06:20:48

标签: javascript cookies gruntjs qunit grunt-contrib-qunit

我正在构建一个管理cookie,基本集,获取和删除功能的小型JS对象。如果我在本地服务器上运行,我已经用浏览器中的QUnit编写了测试。我正在启动这样的服务器:

python -m SimpleHTTPServer 8080

如果我针对本地文件系统(例如file:///)运行测试,则它们会失败,因为cookie依赖于主机。对于文件系统,document.cookie始终为""。我想继续使用我的grunt任务来运行测试,但这有点像路障。看起来有人预料到了这个问题,但也许从未发现过失败的测试用例:http://bugs.jqueryui.com/ticket/8954

建议?

1 个答案:

答案 0 :(得分:2)

使用urls的{​​{1}}选项,并在浏览器中插入您访问的网页的网址(我猜grunt-contrib-qunit但您的测试路径可能会有所不同):

http://localhost:8080/test.html

然后运行grunt.initConfig({ qunit: { all: { options: { urls: ['http://localhost:8000/test.html'] } } } }); 来运行测试。以下是包含更多示例的文档:https://github.com/gruntjs/grunt-contrib-qunit#testing-via-http-or-https