在python中对boost::python库进行单元测试



所以我用boost::python (c++)创建了一个共享库。对于里面的c++函数,我有单元测试来检查它们是否正常工作。现在我想使用单元测试来看看我是否正确地实现了python接口。为此,我考虑使用使用python包unittest .

现在我的文件夹设置大致如下:
project
  |
   -- C++ source (library and boost::python stuff)
  |
   -- build (here the shared library is located)
  |
   -- Test (here I have the python classes that should test the interface)

test文件夹有一些子文件夹,这些子文件夹反映了python接口的结构,其中包含许多小的python模块,测试库的不同方面。

那么问题现在:

我如何import共享库进入测试?

到目前为止我所尝试的是在我的test_main.py

import sys
sys.path.insert(0,'../build')

但是这对测试文件夹中的模块没有帮助。无论如何,将这条路径硬编码到测试代码中似乎是很粗糙的。我也不想安装一个未经测试的库,只是为了找出测试失败,然后再次卸载它。

您可以做的是在根目录(以project为例)中运行测试。你可以做python Test/test_name.py。确保你的构建库有一个__init__.py文件

测试的唯一变化是你会有

from build import blah #blah is the component you testing
#test code here

相关内容

  • 没有找到相关文章

最新更新