次のような構造のプロジェクトがあります。
|tools/
|-- test/
| |-- __init__.py
| |-- test_class1.py
| |-- test_class2.py
|
|-- tools/
|-- __init__.py
| |-- class1.py
| |-- class2.py
|
|-- test_runner (Python script that calls unittest.TestLoader().discover('test'))
|-- README.md
フォルダー内test_runner
のすべてのテストを実行して実行したい。test
私の個々のテストには、次のような行がありfrom test_class import TestClass
ます。適切なクラスをテストします。
test_runner
次のようになります。
#!/usr/bin/env python
import unittest
import sys
import os
sys.path.append(os.path.realpath(__file__) + '/tools')
suite = unittest.TestLoader().discover('test')
results = unittest.TextTestRunner(verbosity=2).run(suite)
if len(results.errors) > 0 or len(results.failures) > 0:
sys.exit(1)
sys.exit()
現在、これは機能していません。テスト ファイルは対応するクラスをインポートできません。そうすれば動作させることができますexport PYTHONPATH=/path/to/file
が、スクリプトを使用してこれを動作させたいと考えています。
私も試しましたが、使用するとファイルが何も返さないsys.path.insert(0, os.path.dirname(__file__) + '/tools')
ため、機能しません。sys.path.insert