我无法对某些代码部分使用单元测试,因此我将退回到回归测试。 我想检查我的程序在修改后是否以相同的方式运行。 我所说的行为主要是指数据结构的一种状态。 到目前为止,我将它们序列化为人类可读的文本格式,并在第一次运行时转储到一些文件中。然后在下一个转储中,我可以比较状态是否改变。 如果更改来自新功能而不是错误,则更新它。
我可以使用库 (C++) 来组织所有这些。你知道任何? 与转储文件一起,它将提供廉价的大量单元测试。
最麻烦的是连载程序。有时我只是转储内存状态,但当它不同时就很难进行逆向工程。所以我转向另一种方法。现在,在比较阶段,我将内存转储读入“幻影”对象并运行专门的差异方法(具有丰富错误报告的运算符==),这有时比序列化为人类可读的文本格式更容易编写。
基本上我想重新发明轮子,所以我的问题很笼统:
你如何进行回归测试(如果你这样做)?
你使用任何图书馆/工具包吗?
您是否曾经根据自己的需要实现过?
出于好奇:
您是否曾经想进行回归测试,但有些事情阻止了您?
最佳答案
你可以看看the Boost Test Library .我从未使用过它,但它可能会满足您的需求。
当我工作时,我通常会在我们的测试跟踪器中编写简单的测试用例,以使回归测试尽可能简单(特别是对于非我的人:)。
关于c++ - C++ 中的回归测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1025134/