【问题标题】:How to properly unit test a class that takes a dependency using JustMock如何使用 JustMock 正确地对具有依赖项的类进行单元测试
【发布时间】:2014-12-14 06:29:52
【问题描述】:

我是单元测试的新手,想知道如何使用 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, ???);
}

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

【问题讨论】:

    标签: c# unit-testing mocking justmock


    【解决方案1】:

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

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

    然后你的测试变成:

    Assert.AreEqual(age, 10);
    

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

    【讨论】:

      猜你喜欢
      • 2017-03-10
      • 2017-09-03
      • 2014-05-29
      • 2014-03-15
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多