所以我用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