私は、ASP.NETを使って書かれたレガシーエンタープライズアプリケーションを検討しています。コントロールやWebフォームはありません。これは、それがどのように動作するかです:ASP.NET Webformsアプリケーションをテスト可能にするにはどうすればいいですか?
EmployeeList.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EmployeeList.aspx.cs" Inherits="EmployeeList" %>
EmployeeList.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
// Security Check
// Load Template, get version 1.4 of active employee list
StringBuilder template = GetTemplate("Employee", "ActiveList", "1.4", true);
// Get list from database
using(SqlDataReader objReader = GetListFromDB())
{
while(objReader.Read())
{
//fills data
TUtils.Replace(template, ROW, "%name%", objReader[0]);
}
}
// return response
Response.Write(template.ToString());
}
private StringBuilder GetTemplate(string x, string y, string v, bool z);
{
// returns template
}
private SqlDataReader GetListFromDB() {
// returns data reader
}
我々はWebフォームを使用していないので、私の質問は、です、このイベント駆動モデルにNUnitを導入する方法はありますか?
また、私たちが検討しているASP.NET MVCや他のパターンに移行するための提案は避けてください。このエンタープライズアプリケーションをテスト可能に変換する方法はありますか?
ここには簡単な答え。テストするすべてのロジックをテスト可能な場所に移動します(これは、MVP/MVCのデザインに移行することを意味します)。たぶん私のポスト - http://madcoderspeak.blogspot.com/2012/02/gui-testing-rehab-can-we-start-saying.htmlあなたが始めることができます。ちょうど精神的にGUIをWebGUIに変換する。 – Gishu