繁体   English   中英

您如何测试列表在单元测试中被排序?

[英]How do you test that a list gets ordered in a unit test?

我有一种需要测试的方法,该方法采用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 ,检验,这些变化实际上做。 就这么简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM