C# 使用MSTestV2框架c进行单元测试#
如何对这两个进行单元测试:返回Ok(类别)和异常返回状态(500,“此时无法加载类别”) 我的CategoryController包含:C# 使用MSTestV2框架c进行单元测试#,c#,unit-testing,mstest,C#,Unit Testing,Mstest,如何对这两个进行单元测试:返回Ok(类别)和异常返回状态(500,“此时无法加载类别”) 我的CategoryController包含: [HttpGet] public ActionResult<IEnumerable<Category>> Get() { try { var categories = _restaurantDb.Categories; return Ok
[HttpGet]
public ActionResult<IEnumerable<Category>> Get()
{
try
{
var categories = _restaurantDb.Categories;
return Ok(categories);
}
catch (Exception)
{
return StatusCode(500, "Categories could not be loaded at this moment");
}
}
我的尝试,不确定我是否接近,它给了我错误,如下所示
[TestMethod()]
public void GetCategoryTest()
{
CategoryController controller = new(_restaurantDb);
var expectedcategories = _restaurantDb.Categories;
var actualcategories = controller.Get();
Assert.AreEqual(expectedcategories, actualcategories);
tried this also
CollectionAssert.AreEquivalent(expectedcategories, actualcategories).
}
错误消息:
Assert.AreEqual失败。预期:
. 实际:。您无法比较这样的对象,这只是检查它们是否引用了相同的实例。因此,即使所有字段都相同,它们也不会相等。您需要逐个字段进行比较。
[TestMethod()]
public void GetCategoryTest()
{
CategoryController controller = new(_restaurantDb);
var expectedcategories = _restaurantDb.Categories;
var actualcategories = controller.Get();
Assert.AreEqual(expectedcategories, actualcategories);
tried this also
CollectionAssert.AreEquivalent(expectedcategories, actualcategories).
}