我有一个exe的C++代码,其中包含一个UI和一些进程。
我的目标是将UI与流程分开,并将exe转换为dll。
为此,我考虑在触摸任何代码之前先生成单元测试,然后进行修改并确保测试不会失败。
问题是我不确定这是否是最佳方法,是否可以自动生成单元测试。
顺便说一句,我正在使用VS 2012。
您对我有什么指导吗?
最佳答案
据我所知,没有工具可以将现有代码自动进行单元测试-如果那样简单,那么根本就不会有新的错误,对吗?正如Arne在回答中所说的那样,如果代码最初并不是为了测试而设计的,那么通常必须将其更改为可测试的。
在我看来,您能做的最好的事情就是学习一些技巧,以相对较少的更改来引入单元测试(以便您可以在开始“实际”修改之前引入单元测试)。我最近读过的一本关于该主题的书是Michael Feathers的“有效地使用旧版代码”(Amazon链接:http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052)。尽管它有一些缺点,但是它对如何轻松地引入单元测试的技术进行了非常详细的描述。