Qunitを使用して.jsスクリプトをテストしています。別のビュー/ページから呼び出すときにAJAX呼び出しターゲットを変更するにはどうすればよいですか?
私は静的な.htmlテストハーネスを持っています。これは.js "被テストコード"(CUT)を含み、適切なマークアップを含んでいます。私は含まれている別のスクリプトでQUnitを使ってテストしています。
このハーネスとテストスクリプトは、プロジェクト:Application.UI.Tests.JScript
にあります。
CUTには、それを使用するビューの位置を基準としたターゲットを持つAJAX呼び出しがあります。
ビューとスクリプトは、MVCプロジェクトの従来のフォルダ:Application.UI
にあります。
Application.UI.Tests.JScript
のビルドイベントでは、スクリプトとコンテンツフォルダのDel
とXCopy
が最新のバージョンのCUTのコピーに対して確実に実行されます。
例のコードは:ちょうど今のデータを返す
[ValidateInput(false)] //TODO for now
public JsonResult actionName(FormCollection formIn)
{
string jsonData = formIn[0];
JsonResult result = new JsonResult();
result.Data = jsonData;
return result;
}
をし、最終的には、ドメイン層における適切なロジックへの呼び出しを持つことになります。
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のは、アクションになります。
質問: はどのようにテストのための具体的な情報が含まれるようにCUTを編集せずCUTはApplication.UI.Tests.JScript
に静的.htmlのページから実行しているApplication.UI
プロジェクトのコントローラ上のAJAXアクションを呼び出すことができますか?