【问题标题】:How to Assert a list in unit test?如何在单元测试中断言列表?
【发布时间】:2021-12-05 12:16:34
【问题描述】:

我有这个测试方法,我正在测试一个列表。它工作正常,但我想简化断言。

<TestMethod()> Public Sub Method_Scenario_ReturnsList()
  'Arrange
    Dim sut As New ClassName()
  'Act
    Dim result = sut.ListMethod(parameter)
  'Assert
    Assert.AreEqual("1", result(0).ID)
    Assert.AreEqual("One", result(0).Name)
    Assert.AreEqual("2", result(1).ID)
    Assert.AreEqual("Two", result(1).Name)
End Sub

有没有办法在我检查所有 ID 和所有名称的两行 Assert 中简化这一点?类似的东西

CollectionAssert.AreEqual({"1","2"}, result.Select(Of ))

有这样的语法吗?我是 VB.net 的菜鸟

【问题讨论】:

    标签: vb.net list unit-testing assert


    【解决方案1】:

    你可以使用

    CollectionAssert.AreEqual({"1","2"}, result.Select(Function(item) item.Id).ToArray())
    
    CollectionAssert.AreEqual({"One","Two"}, result.Select(Function(item) item.Name).ToArray())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      相关资源
      最近更新 更多