提供测试工具

每个 Oslo 库都需要提供支持工具来测试使用该库的代码。 随着时间的推移,我们发现了一些有效和无效的模式,这份策略文档描述了我们通用的方法。

问题描述

最初,我们创建了 oslotest 作为包含所有项目所有单元测试的基础类的地方,以便为项目提供测试套件中的通用行为。 然而,当应用程序想要使用自己的基础类和测试固定装置类,并且这些类以不兼容的方式组合时,使用通用的基础类并不总是可行的。 特别是多重继承是一个问题,因为测试用例的设置和清理顺序更难理解。

拟议政策

大多数库都包含固定装置,而不是测试基础类。 固定装置更加隔离,更容易测试,并且通常证明在不可预见的方式下组合起来更简单。 基于这种经验,以及测试类继承的问题,我们应该将单元测试工具限制为固定装置,并避免使用基础类或混合类。

替代方案与历史

如上所述,最初的计划是在 oslotest 中创建基础类。

实现

作者

主要作者

Doug Hellmann

其他贡献者

里程碑

此策略将在 Liberty 周期中生效。

工作项

参考资料

修订历史

修订版

发布名称

描述

Liberty

引入

注意

本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode