Я нашел подвох - я знаю, что это очень, очень не pythoni c и не подходит для этого. Но это помогает мне в этом примере. Опять же, этот код только временно используется для тестирования и будет удален, как только я доволен кодом.
Модуль, который я запускаю, выглядит следующим образом:
data = pd.read_excel(path, index_col=0) #Data is loaded only once
while True:
reload(TestModule)
TestModule.test_function(data)
input("Press Enter to rerun the test")
Теперь в TestModule у меня есть test_function где я могу перезагрузить ModyfiedModule, над которым я работаю, и любую функцию, которую я хочу протестировать.
TestModule:
def test_function(data):
from ModyfiedModule import MyClass
#Run bunch of tests from MyClass
#Code to test MyClass is here
В этом случае я загружаю данные только один раз и могу изменить модуль MyClass и выполнять различные тесты, определенные в TestModule, без необходимости каждый раз перезагружать данные.
Единственное, что мне нужно сделать после изменения кода, это сохранить MyClass и TestModule и нажать Enter на консоли, чтобы перезапустить тест.