【发布时间】:2015-09-09 20:10:54
【问题描述】:
我正在尝试学习如何进行单元测试来实际检查一些代码,看看是否存在问题。我以前从未使用过单元测试,但看过一些教程来了解如何构建测试类。
我创建了一个带有测试框的小项目,用户可以在其中输入他的:名字、姓氏、电子邮件、电话、地址我想做一个单元测试来检查输入是否有效(不为空)
这甚至可能吗?
我的代码:
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
UserModel um = new UserModel();
return View(um);
}
[HttpPost]
public ActionResult Index(UserModel um)
{
if (ModelState.IsValid)
{
Session["SelectedValues"] = um;
return RedirectToAction("Index", "Result", new { model = um });
}
return View(um);
}
}
索引视图(HomeController)
<div class="col-sm-12">
@using (Html.BeginForm())
{
<div class="row">
<div class="col-sm-6">
@Html.Label("First name:")<br />
@Html.TextBoxFor(m => m.FirstName, new { @class = "textbox" })
<br />
@Html.Label("Last name:")<br />
@Html.TextBoxFor(m => m.LastName, new { @class = "textbox" })
</div>
<div class="col-sm-6">
@Html.Label("Email:")<br />
@Html.TextBoxFor(m => m.Email, new { @class = "textbox" })
<br />
@Html.Label("Phone number:")<br />
@Html.TextBoxFor(m => m.PhoneNumber, new { @class = "textbox" })
</div>
</div>
<div class="row">
<div class="col-sm-10">
@Html.Label("Address:")<br />
@Html.TextBoxFor(m => m.Address, new { @class = "textbox"})
</div>
<div class="col-sm-2">
@Html.Label("Address number:")<br />
@Html.TextBoxFor(m => m.AddressNr, new { @class = "textbox" })
</div>
</div>
<br />
<div class="row">
<div class="col-sm-12">
<button class="button" type="submit">Submit</button>
</div>
</div>
}
</div>
结果控制器
public class ResultController : Controller
{
// GET: Result
public ActionResult Index()
{
UserModel um = Session["SelectedValues"] as UserModel;
return View(um);
}
}
索引视图(ResultController)
<div>
<h4>UserModel</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.FirstName)
</dt>
<dd>
@Html.DisplayFor(model => model.FirstName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LastName)
</dt>
<dd>
@Html.DisplayFor(model => model.LastName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.PhoneNumber)
</dt>
<dd>
@Html.DisplayFor(model => model.PhoneNumber)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Email)
</dt>
<dd>
@Html.DisplayFor(model => model.Email)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Address)
</dt>
<dd>
@Html.DisplayFor(model => model.Address)
</dd>
<dt>
@Html.DisplayNameFor(model => model.AddressNr)
</dt>
<dd>
@Html.DisplayFor(model => model.AddressNr)
</dd>
</dl>
</div>
我想在添加验证之前创建测试,也可以查看单元测试的实际效果。有人可以解释或帮助我应该做什么吗?
我的测试课
namespace UnitTestApplication.Tests
{
[TestClass]
public class ValidationOfInputFieldTest
{
[TestMethod]
public void TestIfInputFieldsAreValidated()
{
}
}
}
【问题讨论】:
标签: asp.net unit-testing