1

だから私はboost::python (C++)で作成された共有ライブラリを持っています。内部の C++ 関数については、それらが機能していることを確認する単体テストがあります。ここで、単体テストを使用して、Python インターフェイスを正しく実装したかどうかを確認したいと思います。このために、 python package を使用することを考えました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