Asp.net mvc 无法获取CollectionAssert的正确语法

Asp.net mvc 无法获取CollectionAssert的正确语法,asp.net-mvc,Asp.net Mvc,我通过以下链接自学TDD 我发现有些代码是错误的,这是令人失望的,因为主题是关于测试的,但我不应该抱怨太多,因为从错误中学习是很好的 但是我从来没有用过;CollectionAssert在以下代码未编译之前 [TestMethod] public void Index_Get_RetrievesAllContactsFromRepository() { // Arrange Contact contact1 = GetContact(1,

我通过以下链接自学TDD

我发现有些代码是错误的,这是令人失望的,因为主题是关于测试的,但我不应该抱怨太多,因为从错误中学习是很好的

但是我从来没有用过;CollectionAssert在以下代码未编译之前

    [TestMethod]
    public void Index_Get_RetrievesAllContactsFromRepository()
    {
        // Arrange
        Contact contact1 = GetContact(1, "Orlando", "Gee");
        Contact contact2 = GetContact(2, "Keith", "Harris");
        InMemoryContactRepository repository = new InMemoryContactRepository();
        repository.Add(contact1);
        repository.Add(contact2);
        var controller = GetHomeController(repository);

        // Act
        var result = controller.Index();

        // Assert
        var model = (ICollection<Contact>)result.ViewData.Model;
        CollectionAssert.Contains(model, contact1);
        CollectionAssert.Contains(model, contact2);
    } 
错误消息是 错误4参数1:无法从“System.Collections.Generic.ICollection”转换为“System.Collections.ICollection”C:\MVC3\Training\MvcContracts\MvcContracts.Tests\Controller\HomeControllerTest.cs 94 39 MvcContracts.Tests

我曾尝试将演员阵容从ICollection改为IEnumerable,但效果不错。

试试看

CollectionAssert.Contains(model.ToList(), contact1);

那不行。ToList不适用于ICollection对象。在前一行中,我还尝试将强制转换从ICollection更改为IList,但也没有成功。