未测试的 GetAccounts 的 C# 单元测试最小起订量方法

C# Unit Test MOQ Method for GetAccounts not being tested

作为作业的一部分,我正在学习为银行应用程序创建单元测试方法,但我遇到了问题:

测试方法 GetAccounts() 由于某种原因未在 Visual Studio 上测试。我得到的输出消息是

"Discover test finished : 0 found"

这是下面的测试方法块。

[TestMethod]
public void GetAccounts()
{
    var testAccount = this.MockDatabase.GetAccounts();
    Assert.IsNotNull(testAccount);
    Assert.AreEqual(4, testAccount.Count);
}

如何让 Visual Studio 发现测试并给我一些结果?

如果有人想让我 post 更多我的代码,而不仅仅是上面的代码片段,请告诉我。我很乐意为您提供更多信息。

确保测试 class 也有 [TestClass] 属性

[TestClass] //<--- Test classes must have this attribute to discover test methods
public class AccountTests {
    IDatabase MockDatabase;

    [TestInitialize]
    public void Arrange() {

        var accounts = new List<Account>
        {
            new Checking( new Customer(1, "Alex", "Parrish"), 12, 30.00M ),
            new Savings( new Customer(2, "Alex", "Russo"), 12, 29.00M ),
            new Checking( new Customer(3, "Emma", "Swan"), 12, 30.00M ),
            new Savings( new Customer(4, "Henry", "Mills"), 12, 30.00M )
        };

        var dataMock = new Mock<IDatabase>();
        dataMock.Setup(_ => _.GetAccounts()).Returns(accounts);

        //...code removed for brevity

        MockDatabase = dataMock.Object;
    }

    [TestMethod]
    public void GetAccounts() {
        var testAccount = this.MockDatabase.GetAccounts();
        Assert.IsNotNull(testAccount);
        Assert.AreEqual(4, testAccount.Count);
    }

    //...code removed for brevity
}