У меня есть 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