使用 MSTestV2 框架 c# 进行单元测试

时间:2021-04-25 01:46:25

标签: c# unit-testing mstest

我如何对这两个进行单元测试:返回 Ok(categories) 和异常返回 status(500, "Categories could not be loaded at this moment");

我有 CategoryController 包含:

 [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");
        }
    }

哪个返回

 [
 {
"id": 1,
"name": "Starter"
  },
 {
"id": 2,
"name": "Main Course"
 },
{
"id": 3,
"name": "Dessert"
 },
 {
"id": 4,
"name": "Drinks"
}
]

我的尝试,不确定我是否接近,它给了我如下错误

       [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 失败。预期的: 1[System.Collections.Generic.IEnumerable1[RestaurantAPI.VM.Category]]>。实际:1[System.Collections.Generic.IEnumerable1[RestaurantAPI.VM.Category]]>。

0 个答案:

没有答案