用c#编写测试用例 [英] test case writing in c#
本文介绍了用c#编写测试用例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
[HttpGet]
[Authorize]
public ActionResult Create() //loads the form
{
var categoryList = new SelectList(new[] { "Electronics", "Toys","Books","Sporting Goods"}); //defines the categories
ViewBag.CategoryList = categoryList;
return View();
}
我为此编写了一个测试方法..
I write a test method for this..
[TestMethod]
public void TestCreate() {
AdvertisementController controller = new AdvertisementController();
var categoryList = new SelectList(new[] { "Electronics", "Toys", "Books", "Sporting Goods" });
ViewResult result = controller.Create() as ViewResult;
Assert.AreEqual(categoryList,result.ViewBag.categoryList);
}
但是它失败了.我想知道这是怎么回事.这有什么问题??
but it's failed.I want to know what's the case.what wrong of this??
推荐答案
请尝试以下操作
[TestMethod]
public void TestCreate() {
// Setup
AdvertisementController controller = new AdvertisementController();
ViewResult result = controller.Create() as ViewResult;
var expectedCategories = new SelectList(new[] { "Electronics", "Toys", "Books", "Sporting Goods" }).ToList();
// Execute
var actualCategories = result.ViewBag.categoryList.ToList();
// Assert
Assert.IsNotNull(result);
Assert.AreEqual(expectedCategories[0], actualCategories[0]);
Assert.AreEqual(expectedCategories[1], actualCategories[2]);
Assert.AreEqual(expectedCategories[2], actualCategories[3]);
Assert.AreEqual(expectedCategories[3], actualCategories[4]);
Assert.AreEqual(expectedCategories[4], actualCategories[5]);
}
基本上,您要验证结果是否等于某个值,并且数组中的每个项目都与预期项目匹配.
Basically in this, you're verifying that result is equal to something, and that EACH item within the array matches the expected item.
注意:我没有在 IDE 中连接它,所以它可能有一些错误.
这篇关于用c#编写测试用例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文