0

我是单元测试的新手,想知道如何使用 JustMock Lite 正确模拟接口。我的课程看起来像这样:

public class Person
{
  public Person(IFileReader reader)
  {
    Parse(reader);
  }

  public string Name {get; private set;}

  public uint Age  {get; private set;}

  private void Parse(IFileReader reader)
  {
    Name = reader.ReadString();
    Age = reader.ReadUInt();
  }
}

我已经创建了一个像这样的测试方法

[TestMethod]
public void GetAgeReturnsCorrectValue()
{
  // arrange
  var reader = Mock.Create<IFileReader>();
  var person= new Person(reader);

  // act
  var age = person.Age;

  // assert
  Assert.AreEqual(age, ???);
}

编写此单元测试的正确方法是什么?

4

1 回答 1

0

您应该编写测试的安排部分。我没有使用过 JustMock 但从示例中我猜它应该是这样的:

Mock.Arrange(() => reader.ReadUInt()).Returns(10);

然后你的测试变成:

Assert.AreEqual(age, 10);

您安排要返回的内容并断言它确实已返回。

于 2014-12-13T22:29:52.030 回答