1

所以我有一个用 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')

但这对 test 文件夹中的模块没有帮助。无论如何,将这条路径硬编码到测试代码中似乎是骇人听闻的。我也不想安装未经测试的库只是为了弄清楚测试失败然后再次卸载它。

4

1 回答 1

1

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

测试的唯一变化是你有

from build import blah #blah is the component you testing
#test code here
于 2016-09-01T13:31:02.813 回答