我正在使用 Qunit 测试一个 .js 脚本。
我有一个静态 .html 测试工具,其中包括 .js“被测代码”(CUT)并包含适当的标记。我正在包含的另一个脚本中使用 QUnit 进行测试。
该工具和测试脚本位于一个项目中:Application.UI.Tests.JScript
.
CUT 中的 AJAX 调用具有相对于使用它的视图的位置的目标。
视图和脚本位于 MVC 项目中的常规文件夹中:Application.UI
.
Application.UI.Tests.JScript
执行脚本Del
和内容文件夹的构建事件,XCopy
以确保针对最新版本的 CUT 副本运行测试。
示例代码:
sendDataToServerViaAjax: function () {
var dataToSend = somefunctionThatReturnsData();
$.ajax({
url: 'actionName'
, type: 'post'
, data: dataToSend
, dataType: 'json'
, success: function (returnedData) {
alert('This was received by server: ' + returnedData);
}
});
}
actionName 转到一个动作:
[ValidateInput(false)] //TODO for now
public JsonResult actionName(FormCollection formIn)
{
string jsonData = formIn[0];
JsonResult result = new JsonResult();
result.Data = jsonData;
return result;
}
它现在只返回数据,最终将调用域层中的正确逻辑。
问题:
如何使 CUTApplication.UI
从静态 .html 页面中的正在运行的项目中的控制器上调用 AJAX 操作,Application.UI.Tests.JScript
而无需编辑 CUT 以包含特定于测试的信息?