0

我开始使用最小起订量进行单元测试。我想做的就是:测试 A 类的“执行”方法。该方法接受一个 IA 类型的对象并在其中设置一个简单的属性。

[TestFixture]
public class A
{
    public void Execute(object s)
    {
        if (s is IA)
        {
            (s as IA).ASimpleStringProperty = "MocktestValue";
        }
    }
}

public interface IA
{
    string ASimpleStringProperty { get; set; }
}

我这样写了我的单元测试:

但这不适用于我下面的测试方法:我哪里出错了有什么想法吗?

[Test]
public void TestMethod1()
{
    var person = new Mock<IA>();
    var a = new A();
    a.Execute(person.Object);
    person.VerifySet(ASimpleStringProperty = "MockytestValue", "FailedTest");
}

(我想检查 ASimpleStringProperty 是否为“Mocktestvalue”,但由于某些原因无法检查。另外,当我进行调试时,我看到 ASimpleStringProperty 为空!

4

1 回答 1

2

您分配给属性的值有错字 -MockytestValue而不是MocktestValue. 也用于VerifySet检查是否设置了属性:

person.VerifySet(ia => ia.ASimpleStringProperty = "MocktestValue", "FailedTest");

顺便说一句,为什么你的A班级标记为TestFixture

于 2013-07-18T11:40:19.267 回答