我应该如何在.NET Core 1.1或更高版本下使用Mocking和Fakes?

Daa*_*aan 24 unit-testing mocking microsoft-fakes asp.net-core

我已经使用.NET Framework 4.X多年了,我刚刚切换到.NET Core.由于我想做TDD,我想使用模拟框架和微软假货.但是,我不清楚如何为.NET Core做到这一点,因为不支持经典解决方案.

有人能告诉我如何在.NET Core 1.1下使用Mocking和Fakes吗?

Dzi*_*mau 4

  1. 使用 nuget 安装“Moq”
  2. 使用 NUnit 或类似工具创建单元测试
  3. 写这样的东西:

        // Arrange
        var mock = new Mock<IRepository>();
        mock.Setup(repo=>repo.GetAll()).Returns(GetTestPhones());
        var controller = new HomeController(mock.Object);
    
        // Act
        var result = controller.Index();
    
        // Assert
        var viewResult = Assert.IsType<ViewResult>(result);
        var model = Assert.IsAssignableFrom<IEnumerable<Phone>>(viewResult.Model);
        Assert.Equal(GetTestPhones().Count, model.Count());
    
    Run Code Online (Sandbox Code Playgroud)

  • 这没有提到微软假货。垫片和存根怎么样? (3认同)