Eric IDE: запуск модульных тестов внутри IDE - PullRequest
0 голосов
/ 13 мая 2018

У меня небольшой проект и выполняются юнит-тесты:

$ python tests/runner.py 
......
----------------------------------------------------------------------
Ran 6 tests in 0.002s
OK
$ python -m tests.runner
......
----------------------------------------------------------------------
Ran 6 tests in 0.002s
OK

tests/runner.py:

import unittest

loader = unittest.TestLoader()
tests = loader.discover('.')
testRunner = unittest.runner.TextTestRunner()
testRunner.run(tests)

tests/test_common.py (один тестовый пример, больше ничего):

from procr.core.pcp import *  # pcp - module under test.

class TestHelpers(unittest.TestCase):

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_something(self):
    ...

Структура каталогов:

project/
  __init__.py
  procr/
    core/
      __init__.py
      pcp.py
    __init__.py
  tests/
    __init__.py
    test_common.py
    runner.py

Eric IDE требуется тест или файл набора тестов. Поставляется с runner.py, сообщает Error: suite(unittest.loader._FailedTest). Каталог проекта имеет значение project, полный путь.

Что может быть не так?

UPD:

Тесты даже фактически выполняются, как показано на консоли Эрика. IDE, вероятно, ожидает что-то немного другое от бегуна. Понятия не имею, что.

1 Ответ

0 голосов
/ 23 мая 2018

Это не руководство Eric Unittest, ни в коем случае.И все же это лучше, чем ничего.По крайней мере, небольшой шаг вперед.

Мягкая ссылка на tests/test_common.py (в противном случае рабочий каталог смещается с project):

project/
  __init__.py
  procr/
    core/
      __init__.py
      pcp.py
    __init__.py
  tests/
    __init__.py
    test_common.py
    runner.py

  eric_test_common.py -> tests/test_common.py

Эрик Unittest Dialog:

  • Enter test filename: полный путь к eric_test_common.py

  • Enter test name: TestHelpers

  • Run local: проверка

  • Start: push

Это только первый рабочий вариант, который я обнаружил;должно быть намного больше.Я надеюсь сделать этот ответ лучше со временем.

Эрик Unittest Диалог на GitHub

...