Webのユニットテスト① .NET
.NETでも、Webアプリケーションとデータベースを組み合わせたテストを作ってみます。
まずは、ASP.NETでテスト対象となるサンプルアプリを作ってみます。
Javaの時と全く同じで・・・
検索ボタンを押すと、以前に作ったuserテーブルの全データを表示します。
Default.aspx.java
以前に作った、UserDao.cs、Dbcp.csを使って実装しています。
.NETだと、さくっと実装できますね。
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using NDbUnitSample; namespace WebAndNDbUnitSample { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { using (IDbConnection con = Dbcp.GetInstance().CreateConnection()) { UserDao dao = new UserDao(con); this.GridView1.DataSource = dao.SelectAll(); this.GridView1.DataBind(); } } } }
Default.aspx
Visual Studioが自動生成してくれます。全く変更していません。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebAndNDbUnitSample._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="検索" /> </form> </body> </html>