当前位置:  开发笔记 > 编程语言 > 正文

如何组织C++测试应用程序和相关文件?

如何解决《如何组织C++测试应用程序和相关文件?》经验,为你挑选了1个好方法。

我正在开发一个C++库,其中包括读取配置文件的功能.我想为此添加测试.到目前为止,这导致我创建了许多有效和无效的配置文件,每个配置文件只有几行来测试一个特定的功能.但它现在变得非常笨拙,因为有太多的文件,还有很多小的C++测试应用程序.不知怎的,这对我来说似乎不对:-)所以你有提示如何组织所有这些测试,测试应用程序和测试数据吗?

注意:库的公共API本身不易测试(它需要配置文件作为参数).实际读取和解释配置值的多汁,容易出错的方法是私有的,所以我没有看到直接测试它们的方法?

所以:你会坚持测试真实文件; 如果是这样,您将如何组织所有这些文件和应用程序,以便它们仍然可维护?



1> richq..:

也许库可以接受某种流输入,所以你可以传入一个类似字符串的对象并避免所有的输入文件?或者根据配置类型,您可以直接提供"get/setAttribute()"函数,公开,调整参数.如果这不是一个真正的设计目标,那就别担心了.在某些地方,数据驱动的单元测试是不受欢迎的,但它肯定比没有好!我可能会像这样列出代码:

  project/
          src/
          tests/
                test1/
                      input/
                test2
                      input/

在每个testN目录中,您将有一个与输入目录中的配置文件关联的cpp文件.

然后,假设您使用的是xUnit样式的测试库(cppunit,googletest,unittest ++或其他),您可以将各种testXXX()函数添加到单个类中,以测试相关的功能组.通过这种方式,您可以通过将至少一些测试组合在一起来减少部分很少的程序问题.

唯一的问题是,如果库期望配置文件被调用特定的东西,或者在特定的地方.情况应该不是这样,但如果必须通过将测试文件复制到预期位置来解决它.

并且不要担心大量的测试会使项目混乱,如果它们隐藏在测试目录中,那么它们就不会打扰任何人.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有