是否可以使用cxxunit或任何其他单元测试框架(不包括QtTestLib)来测试 qt 小部件?
如果是,那么还有两个问题:
- 如何?
- 由于我正在使用 valgrind 运行单元测试,这会报告一些错误吗?
是的,这应该是可能的。我不确定 cxxunit 具体是什么,但理论上是可能的。
如果你想测试你的 UI,我建议使用像Squish这样的 UI 测试工具。我发现单元测试更适合测试小部件背后的逻辑,而不是小部件本身。如果您真的想对 Qt 小部件进行单元测试,我认为没有比 QtTestLib 更好的解决方案了。
Valgrind:有一个用于 Squish 的 valgrind 插件。不过我自己没用过那个。其他单元测试当然可以很容易地在 valgrind 中运行,尽管我不知道有什么解决方案可以完全自动化。必须确保真正抑制来自外部代码的所有警告,以便例如 x11 库中的某些错误不会触发单元测试失败。