Тестирование инициализатора класса с использованием unittest в python - PullRequest
0 голосов
/ 17 марта 2019

Я использую модуль unittest для написания тестов.Мне нужно проверить инициализацию объекта внутри тестового набора, используя разные входные данные.Для этого я импортирую класс внутри setUp ().Но когда я пытаюсь использовать класс внутри функций test _ * (), я получаю эту ошибку - NameError: name 'Example' is not defined

Вот мой пример кода -

import unittest
class TestExample(unittest.TestCase):
    def setUp(self):
        import Example

    def test_sample_function(self):
        e = Example(1,2)

Я знаю, что могу простоимпортировать класс в верхней части скрипта.Но я не хочу этого делать.Мне нужно импортировать его только во время настройки тестового сценария.Нужна помощь здесь.

Ответы [ 2 ]

1 голос
/ 17 марта 2019
import unittest
class TestExample(unittest.TestCase):
    def setUp(self):
        import Example
        self.Example = Example

    def test_sample_function(self):
        e = self.Example(1,2)
0 голосов
/ 17 марта 2019

Нет причин импортировать модуль в setUp. Модуль по-прежнему доступен по всему миру в sys.modules, но вы привязали его только к локальному имени, которое исчезает после возврата setUp. Просто импортируйте это глобально.

import unittest
import Example


class TestExample(unittest.TestCase):
    def test_sample_function(self):
        e = Example(1,2)
...