【问题标题】:MSTest, I receive result.status code 200 but the result.value is nullMSTest,我收到 result.status 代码 200 但 result.value 为空
【发布时间】:2021-12-06 22:42:04
【问题描述】:

我检查了 result.Result 是 OkResultObject 并且它的状态是 200,但是当我得到 result.Value 时,它​​是空的。我有错吗?

[TestMethod]
public void GetArtById_WithExisting_ReturnExpectedItem()
{
  // arrange
  ItemDto expected = new ItemDto()
  {
    Id = random.Next(),
    Name = Guid.NewGuid().ToString()
  };
  serviceStub.Setup(service => service.GetItemById(It.IsAny<int>())).Returns(expected);
  var controller = new ItemsController(serviceStub.Object);
  // act
  var result = controller.GetItemById(random.Next());
  //assert
  result.Value.Should().BeEquivalentTo(expected, options => options.ComparingByMembers<ItemDto>());
}

错误:

    Error Message:
   Expected t to be PRODUCTSERVICE.API.Dtos.ItemDto
{
    Id = 892888091,
    Name = "68319208-3f5a-442d-954e-bc45dc7cfe48",
}, but found <null>.

With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Compare PRODUCTSERVICE.API.Dtos.ItemDto by its members
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.

【问题讨论】:

    标签: c# .net-core moq mstest


    【解决方案1】:

    我发现我需要先将其转换为 OkResultObject,然后才能获取 Value。

    [TestMethod]
    public void GetItemById_WithExisting_ReturnExpected()
    {
      // arrange
      var expected = CreateRandomItem();
      serviceStub.Setup(service => service.GetItemById(It.IsAny<int>())).Returns(expected);
      var controller = new ItemsController(serviceStub.Object);
      // act
      var result = controller.GetItemById(random.Next());
      //assert
      result.Result.Should().BeOfType<OkObjectResult>();
      var ok = (OkObjectResult)result.Result;
      ok.Value.Should().BeEquivalentTo(expected, options => options.ComparingByMembers<ItemDto>());
    }
    

    【讨论】:

      猜你喜欢
      • 2018-11-26
      • 1970-01-01
      • 2020-11-29
      • 2021-05-24
      • 2021-05-04
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多