我正在使用Qunit測試.js腳本。如何從不同的視圖/頁面調用時更改AJAX調用目標?
我有一個靜態.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;
}
剛剛返回數據現在,最終將具有在域層調用正確的邏輯。
問: 我怎樣才能使削減Application.UI.Tests.JScript
調用運行Application.UI
項目控制器上的AJAX動作從靜態的.html頁面,而無需編輯CUT包括具體測試信息?