2017-02-26 9 views
0

内に配置されているコマンドラインを介して単一のテスト私はフォルダ構造を持っている:ランテストが兄弟フォルダ

app/ 
| 
|-src/ 
| | 
| |-Code.py 
| 
|-tests/ 
    | 
    |-__init__.py 
    |-test_Code.py 

私は、コマンドを発行することにより、私のテストを実行します。

app$ python3 -m unittest discover 

として結果はtest_Code.pyファイルからのすべてのテストが実行されます。

test_Code.pyファイルから単一のテストを実行したいと思います。 'test_Code.py' の

内容は以下のとおりです。Running single test from unittest.TestCase via command line

import unittest 
from src.Code import Code 

class TestCase1(unittest.TestCase): 

    def test_Code1(self): 
     ... 

    def test_Code2(self): 
     ... 

if __name__ == '__main__': 
    unittest.main() 

単一のテストを実行する方法について質問があります。

与えられた答えは次のとおりです。

python testMyCase.py MyCase.testItIsHot 

私の場合には(と思う)されるであろう:

app$ python3 tests/test_Code.py TestCase1.test_Code1 

残念ながら、これはエラーになり:

ImportError: No module named 'src'

ありありテストがサブディレクトリにある場合、提案されたアプローチがうまくいかないというコメントでした。解像度が提案されている:

python test/testMyCase.py test.MyCase.testItIsHot

従って私は試してみてください。同じエラーになり

app$ python3 tests/test_Code.py test_Code.TestCase1.test_Code1 

私はまた異なった物事のカップルの間で、試してみました:

app$ python3 -m unittest tests/test_Code.py test_Code.TestCase1.test_Code1 

をしかし、これはすべてのテストを実行します。

質問は次のようになります。 テストが兄弟フォルダ内にある場合にコマンドライン経由で1つのテストを実行する方法はありますか?

+0

であると仮定すると?アプリレベルですか? "app"はPythonモジュールか簡単なモジュールですか? –

+0

@VivekAkupatniこれらは 'app'レベルで実行されます。モジュールや単純なモジュールはどういう意味ですか?あなたが求めているのであれば、 'app'フォルダに' __init __。py'はありません。 –

+0

申し訳ありませんが、私はディレクトリまたはpythonモジュール –

答えて

0

これは動作するはずです。

python -m unittest -v tests.test_Code.TestCase1.test_Code1 

srcはまた、あなたがからテストを実行しているどのようなレベルでモジュール

関連する問題