Я использую spyder (3.3.4) для запуска некоторых модульных тестов python (3.7). У меня есть два разных сценария, которые используют unittest и unittest.main (), открытые в spyder: test_1.py и test_2.py. Оба сохраняются в одной папке.
Если я запускаю test_1.py до запуска test_2.py, я получаю ожидаемые результаты; запускаются только тесты в test_1.py.
Если я затем запускаю test_2.py, тесты в test_2.py запускаются, но затем также запускаются тесты в test_1.py. Если я перезапущу ядро Ipython между запуском test_1.py и test_2.py, то, как и ожидалось, запускается только test_2.py. Самое странное, что если я закрою test_1.py после его запуска, выходные данные test_1.py будут по-прежнему печататься при запуске test_2.py.
Почему это происходит?
Я предполагаю, что это связано с тем, как переменная __name__
сохраняется в консоли IPython или как unittest.main () ищет тесты?
Вот код для моих двух тестовых сценариев:
test_1.py:
import unittest
class TestStuff(unittest.TestCase):
def test_1(self):
print('test 1')
pass
def test_2(self):
print('test 2')
pass
if __name__ == '__main__':
unittest.main()
и test_2.py:
import unittest
class TestOtherStuff(unittest.TestCase):
def test_this(self):
print('this')
pass
def test_that(self):
print('that')
pass
if __name__ == '__main__':
unittest.main()
Спасибо!