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

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

如何对这两个进行单元测试:返回Ok(类别)和异常返回状态(500,“此时无法加载类别”)

我的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");
        }
    }
我的尝试,不确定我是否接近,它给了我错误,如下所示

       [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).
        
    }