【发布时间】:2017-05-18 11:49:53
【问题描述】:
我已经安装了 2 个 Chutzpah Visual Studio 插件(使用 VS 2015)、上下文菜单和测试资源管理器扩展。我可以右键单击 test.js 文件,它运行成功。我可以从测试资源管理器运行测试并且测试运行成功。问题是当我右键单击 test.html 文件时,出现以下错误。
错误:错误:在测试已经开始运行时调用 start() 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 开始(第 2679 行) 在 startQUnit(第 12 行) 在 onPageLoaded(第 16 行) (第 18 行) 运行时:C:\Users\byron\documents\visual studio 2015\Projects\WebApplication1\WebApplication1\Tests\codeSample\test.html ------ 测试开始:文件:C:\Users\byron\documents\visual studio 2015\Projects\WebApplication1\WebApplication1\Tests\codeSample\test.html ------ 错误:TypeError:未定义不是对象(评估'QUnit.jsDump.multiline = false') 登录时未定义(第 88 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 runLoggingCallbacks(第 1036 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 logAssertion (第 1701 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 pushResult(第 1672 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 pushFailure(第 1685 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中运行(第 1430 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js (第 1620 行) 提前在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js (第 1105 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 开始(第 2796 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js (第 2756 行) 运行时:C:\Users\byron\documents\visual studio 2015\Projects\WebApplication1\WebApplication1\Tests\codeSample\test.html 错误:TypeError:未定义不是对象(评估'QUnit.jsDump.multiline = false') 登录时未定义(第 88 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 runLoggingCallbacks(第 1036 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 logAssertion (第 1701 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 pushResult(第 1672 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 pushFailure(第 1685 行) 在文件中的 pushFailure:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js(第 1822 行) 在 file:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js 中的 onError (第 2560 行) 在文件中出现错误:///C:/Users/byron/documents/visual%20studio%202015/Projects/WebApplication1/WebApplication1/Tests/Framework/qunit-2.3.2.js(第 3844 行) 运行时:C:\Users\byron\documents\visual studio 2015\Projects\WebApplication1\WebApplication1\Tests\codeSample\test.html 错误:执行测试文件时发生超时 运行时:C:\Users\byron\documents\visual studio 2015\Projects\WebApplication1\WebApplication1\Tests\codeSample\test.html ========== 总测试:0 次通过,0 次失败,0 次 ==========
我已经使用 Chutzpah 示例文件进行测试,并添加了一个测试来测试 JQuery 是否正常工作,这里是文件和 Chutzpah.json 文件。
test.html
<html>
<head>
<link rel="stylesheet" href="../Framework/qunit-2.3.2.css" type="text/css" />
<script type="text/javascript" src="../Framework/jquery-3.1.1.js"></script>
<script type="text/javascript" src="../Framework/qunit-2.3.2.js"></script>
<script type="text/javascript" src="code.js"></script>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<h1 id="qunit-header">Unit Tests</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>
test.js
/// <reference path="code.js"/>
QUnit.module("test");
$(document).ready(function() {
QUnit.test("will add 5 to number",
function() {
var res = mathLib.add5(10);
QUnit.assert.equal(res, 15, "should add 5");
});
QUnit.test("test jquery",
function() {
var result = $("#qunit-fixture");
QUnit.assert.ok(result.length > 0);
});
});
code.js
var mathLib = {
add5: function (a) {
return a + 5;
}
}
Chutzpah.json
{
"RootReferencePathMode": "SettingsFileDirectory",
"References": [
{ "Path": "Framework" }
]
}
我的项目文件夹结构:
- WebApplication1(项目)
- 样板 MVC 文件夹
- 测试
- 代码示例
- code.js
- test.html
- test.js
- 框架
- jquery-3.1.1.js
- qunit-2.3.2.css
- qunit-2.3.2.js
最终,我需要更新 250 个 JS 测试才能从 Visual Studio 中运行所有这些测试。目前,所有测试都只能通过脚本在 TeamCity 中运行。
【问题讨论】:
标签: javascript chutzpah