Schellekens Yehoshaphat:
私が持っているunittest.TestCase
非常に重いセットアップクラスで
私は、コードをメインとして起動された場合、それはモックを使用して実行し、それは次のようにインポートをトラフ実行する場合、完全なデータチェックを実行したいと思います:
import unittest
from utilities import create_full_data,create_mock_data
if __name__ == "__main__":
print(' I want to run this block if code starts from here')
data_to_check=create_mock_data()
else:
print(' I want to run this block if imported')
data_to_check = create_full_data()
class Test_payer_seg(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.data_to_test = data_to_check
def test_data_qaulity(self):
self.assertTrue(1==1)
問題は、ボンネットの下にあるために発生するようですnosetests
検出Pythonのテストのようになり、内部プロセスとしてそれを実行し、したがって、__name__
おそらく「メイン」になることはできません。
どのように私はそれがメインを起動された場合、モックとしてそれを実行するフローを作成することができますか?
私が使用してそれを実行しているため、この問題が起こることがあります pycharm
ःAemke:
pycharm
ユニットテストとしてそれを認識し、自動的にインストールユニット・テスト・パッケージを使用してそれを実行します。新しい作成することができますPythonの 設定をスクリプトの完全なパスと作業ディレクトリで。これはあなたの実行されるmain
ユニットテストパッケージを使用せずにセクションを。