Мой сценарий Python unittest не работает в Eclipse PyDev, но работает в Spyder - PullRequest
0 голосов
/ 25 марта 2020

Я использую 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 обычным способом. Может ли кто-нибудь помочь мне здесь?

...