Я использую Springsource Tool Suite 3.9.7.RELEASE с плагином PyDev 7.5.0. Eclipse Pydev выдает мне ошибку с юнит-тестами, которые я не получаю в Spyder.
Я создал следующий тестовый скрипт:
from unittest import TestCase
from unittest import TextTestRunner
class Test1(TestCase):
def runTest(self):
print("Running Test1 - This should not appear")
self.assertTrue(True, "Test1")
class Test2(TestCase):
def runTest(self):
print("Running Test2 - This should not appear")
self.assertTrue(True, "Test2")
if __name__ == '__main__':
runner = TextTestRunner()
print("Finished Running - This should appear")
Когда я запускаю его из STS с помощью Run As / Python unit-test дает следующий вывод: -
Finding files... done.
Importing test modules ... done.
Running Test1 - This should not appear
Running Test2 - This should not appear
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
Когда я запускаю точно такой же скипт в Spyder, это дает мне: -
Finished Running - This should appear
Выход Spyder что бы я ожидал и хотел. Похоже, что PyDev захватывает каждый объект TestCase unittest, который он может найти, и запускает их все при создании экземпляра TextTestRunner.
Я создал этот тривиальный пример, но он возник из реального проекта, над которым я работаю, который использует оба Python и Java. Я могу разработать его только с помощью Eclipse PyDev. Мне нужно иметь возможность указать, какие тестовые случаи я запускаю, используя метод run () TextTestRunnner обычным способом. Может ли кто-нибудь помочь мне здесь?