我最近在多年的C#之后回到了C / C ++。在那些年里,我发现了模拟和单元测试的价值。
在C#中查找模拟和单元测试的资源是微不足道的。 WRT Mocking,与C ++不同。
我希望得到一些指导,了解其他人如何使用boost来模拟和测试Asynch io_service处理程序。
例如,在C#中我会使用MemoryStream来模拟IO.Stream,并假设这是我应该采取的路径。
我已经开始使用googlemock和googletest。
答案 0 :(得分:7)
正如您可能已经发现的那样,在C ++中进行模拟比在C#或Java中进行模拟要少得多。就个人而言,当我需要它而不是使用框架时,我倾向于编写自己的模拟。由于我的大部分设计都倾向于在界面上很重,这对我来说并不是特别困难,而且我倾向于建立一个与我正在开发的代码一致的“模拟库”。在我的“实践测试”文章中可以找到here我如何做事的一个例子。最后,它与C#中的模拟和测试并没有什么不同,所有相同的原则都适用,你最终会自己做更多的繁重工作。