我们正在开发一个我们希望在多个平台上支持的库。我们目前有 .Net(桌面、CF、Silverlight、WP7)、Java(桌面和安卓)和 C++(目前是 win32)风格,并开始感受到调整和维护这些实现的负担。我们在这些库上公开了一个相对较小的公共接口,尽管我们允许每个平台利用它们的语法等,但它们都应该在功能上保持一致,以避免始终必须遵守最低公分母。
我们有一个相当大的测试套件(单元测试和集成测试),特别是针对我们的 .Net 实现,但我们真的很想避免为每个平台重复“相同”的测试。我们正在寻找一些务实的建议/解决方案,以在测试方面以某种简单和统一的方式处理这些(和未来的)平台。
我们一直在折腾某种可以适应每个平台的集中式“测试驱动程序”的想法。这将允许将测试编写在一个地方(例如.Net),然后在每个平台上调整/执行(例如通过进程间到特定平台上的测试客户端,将测试输入/输出转换到特定平台)但是不确定那是通往天堂还是地狱的道路。
澄清一下,我们真的想要一些关于跨多个组件维护测试的建议,并尽可能避免重复/平台特定的测试。
关于这个主题的任何想法,经验,想法?