如何测试列表在单元测试中的排序

本文关键字:单元测试 排序 列表 何测试 测试 | 更新日期: 2023-09-27 18:19:34

我有一个需要测试的方法,它需要IEnumerable<T>。要求此方法按特定顺序对此可枚举对象执行一组操作。

(为了简洁起见,我简化了函数。)

public void TestMe(IEnumerable<IObject> objects) {
  foreach (var obj in objects.OrderBy(x => x.Priority)) {
    DoSomethingWithObject(obj);
    DoSomethingElseWithObject(obj);
  }
}
private DoSomethingWithObject(IObject obj) { }
private DoSomethingElseWithObject(IObject obj) { }

DoSomethingWithObjectDoSomethingElseWithObject是私有的时,我如何编写一个测试来确保操作以正确的顺序执行?

如何测试列表在单元测试中的排序

TestMe的结果是什么?调用TestMe时,调用者会看到什么?他为什么一开始就称这种方法为他想完成什么

这些都是您可能想要在单元测试中回答的问题。实现细节(如私有方法)无关紧要。重要的是外界如何看待你的方法

如果您的方法更改了IObject的某些状态,请测试这些更改是否为。就这么简单。