的我有一个第三方服务单元测试策略 - 验证状态私有字段
每次临危它更新内存中的记录(List<MyObj>
举行)的消息时临危消息的窗口服务,并定期广播他们
我想测试名单的状态
选项我想出了是
将列表的可见性从私有更改为受保护。然后创建一个具有公开属性的测试特定子类,其中显示状态
将公共属性添加到仅在调试模式下编译的类中。 即
#if (DEBUG)
public IList<MyObj> TestProperty
{
get { return _myObj; }
}
#endif
哪一个是最好的解决方案(或至少坏)?
有没有更好的方法?
* 编辑 *
刚刚发现这篇文章提供了一个彻底的运行所有选项
http://www.codeproject.com/KB/cs/testnonpublicmembers.aspx
我明白你的观点 - 然而,广播信息已经从接收到的信息转变而来。我想验证整个清单上的各种操作。此外,广播由定时器触发,这使得难以通过单元测试进行验证。(谢谢) – ChrisCa 2010-11-19 09:53:37
@Christo:我会建议让广播部分更容易测试,更可编程的定时器。 – 2010-11-19 12:34:32