c ++ / catch2:来自单独测试目录的参考代码

时间:2018-10-02 19:42:55

标签: c++ catch2

在尝试进行任何单元测试之前,我有一个类似的目录

mything.h
mything.cpp
mything2.h
mything2.cpp
driver.cpp  // contains main()
Makefile

然后我将make并运行生成的可执行文件;该可执行文件在根目录中生成(称为runme)。

现在,我正在尝试使用Catch2 https://github.com/catchorg/Catch2/blob/master/docs/Readme.md#top),它也说有一个带有主文件的测试文件(它们有一个定义)。因此,我将代码重新组织为

src/
  mything.h
  mything.cpp
  mything2.h
  mything2.cpp
  driver.cpp  // contains main()
test/
  catch2.hpp // downloaded off their website in single header option
  sometest.cpp // also contains a main per catch2
Makefile

我做了一些不参考实际代码的虚拟测试。现在,我执行make tester./tester来运行所有测试。我可以执行make./runme来运行原始应用程序。

我现在的问题是,如何实际从测试代码中调用源代码?我是否需要将此src目录转换为库?也就是说,测试代码如何在c ++中引用src代码对我来说还不清楚。

为了全面披露,我来自python / pytest世界,想知道您实际上如何构造带有w.r.t的c ++代码。单元测试或适当的项目结构。

0 个答案:

没有答案