[英]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) { }
当DoSomethingWithObject
和DoSomethingElseWithObject
为私有时,如何编写测试以确保操作以正确的顺序执行?
TestMe
的结果是什么? 调用TestMe
时,呼叫者会看到什么? 他为什么首先要调用此方法? 他想完成什么?
这些是您可能希望通过单元测试回答的问题。 实现细节(如私有方法)无关紧要。 重要的是外界如何看待您的方法 。
如果你的方法改变了一些国家的IObject
,检验,这些变化实际上做。 就这么简单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.