c# - 使用最小起订量单元测试框架编写测试

标签 c# .net moq

我对用 C# 编写单元测试有点困惑。我编写了以下类(class)来学习 Moq。我注意到 [SetUp] 实际上是来自 NUnit 的引用。如何编写一个仅使用一个框架或另一个框架的测试类,或者这是否可能?如果我想使用 Moq,我缺少哪些属性才能成功运行此测试?我知道有 [TestFixture]、[TestMethod] 等,但我应该使用哪一个来起订量! 谢谢, 詹姆斯

public class CatalogCommandTests
{
    private Mock<IReferenceData> _mockReferenceData;

    [SetUp]
    public void TestInitialize()
    {
        _mockReferenceData = new Mock<IReferenceData>();
    }

    public void TestMyGetMethodReturnsListOfStrings()
    {
        var contractsList = new List<Contract>();

        _mockReferenceData.Setup(x => x.MyGetMethod()).Returns(contractsList);
    }
}

最佳答案

你的模拟看起来不错。要获取 IReferenceData 的模拟,您必须调用 _mockReferenceData.Object。

用SetUp属性修饰的方法将在调用每个测试方法之前执行。 (参见:Setup)。

如果您希望调用 TestMyGetMethodReturnsListOfStrings,则必须使用 Test 属性来修饰该方法 (参见:Test)。

关于c# - 使用最小起订量单元测试框架编写测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19313943/

相关文章:

c# - 使用 Mono.Cecil 在 C# 程序集中注入(inject)方法

c# - 如何在没有 WMI 的情况下在 .Net 中获取远程机器操作系统版本?

c# - 模拟扩展方法导致 System.NotSupportedException

c# - MSI 安装程序文件/文件夹权限

c# - 如何从 C# Entity Framework Code First 模型获取 mysql char 列类型

.net - 处理收到的电子邮件

c# - 如何使用 Moq 测试没有返回值的方法?

c# - 如何在 Moq Func<object, Class> Property { get; 中进行模拟}

c# - ASP.net c# 按钮单击

c# - 如何在 Visual Studio 中执行 Ctrl+K、Ctrl+F?