Я хочу получить доступ из Unittest к атрибутам класса, который настраивает путь и имя проекта.
В этом классе я использую конструктор, методы получения и установки соответствующих упомянутых атрибутов, а также метод, который получает имя определяемого проекта (если он не получает никакого значения, по умолчанию используется значение «foo»).
Класс, который настраивает путь и имя проекта: Config.py
class Config:
def __init__(self):
self._basedir = "C:/Users/example"
self._name_project = None
def set_project(self, project_name=None):
if project_name is None:
self.set_name_project = "foo"
else:
self.set_name_project = project_name
@property
def get_basedir(self):
return self._basedir
@property
def get_name_project(self):
return self._name_project
@get_name_project.setter
def set_name_project(self, name_project):
self._name_project = name_project
Импортируйте указанный выше класс в мой файл unittest: Test.py
import unittest
from Config import Config
class Test(Config, unittest.TestCase):
def setUp(self):
Config.set_project(self)
def test_000_set_project(self):
print(Config.get_basedir)
print(Config.get_name_project)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
Я получаю следующую ошибку:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.1.1\plugins\python-ce\helpers\pycharm\_jb_unittest_runner.py", line 35, in
sys.exit(main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING))
File "C:\Python\lib\unittest\main.py", line 100, in __init__
self.parseArgs(argv)
File "C:\Python\lib\unittest\main.py", line 147, in parseArgs
self.createTests()
File "C:\Python\lib\unittest\main.py", line 158, in createTests
self.test = self.testLoader.loadTestsFromNames(self.testNames,
File "C:\Python\lib\unittest\loader.py", line 220, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python\lib\unittest\loader.py", line 220, in
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python\lib\unittest\loader.py", line 198, in loadTestsFromName
inst = parent(name)
TypeError: Config.__init__() takes 1 positional argument but 2 were given
Process finished with exit code 1
Empty suite
Я хочу напечатать следующее:
"C:/Users/example"
foo
Подробнее здесь: https://stackoverflow.com/questions/725 ... m-unittest
Получить свойства класса из unittest ⇐ Python
Программы на Python
1764002877
Anonymous
Я хочу получить доступ из Unittest к атрибутам класса, который настраивает путь и имя проекта.
В этом классе я использую конструктор, методы получения и установки соответствующих упомянутых атрибутов, а также метод, который получает имя определяемого проекта (если он не получает никакого значения, по умолчанию используется значение «foo»).
Класс, который настраивает путь и имя проекта: Config.py
class Config:
def __init__(self):
self._basedir = "C:/Users/example"
self._name_project = None
def set_project(self, project_name=None):
if project_name is None:
self.set_name_project = "foo"
else:
self.set_name_project = project_name
@property
def get_basedir(self):
return self._basedir
@property
def get_name_project(self):
return self._name_project
@get_name_project.setter
def set_name_project(self, name_project):
self._name_project = name_project
Импортируйте указанный выше класс в мой файл unittest: Test.py
import unittest
from Config import Config
class Test(Config, unittest.TestCase):
def setUp(self):
Config.set_project(self)
def test_000_set_project(self):
print(Config.get_basedir)
print(Config.get_name_project)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
Я получаю следующую ошибку:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.1.1\plugins\python-ce\helpers\pycharm\_jb_unittest_runner.py", line 35, in
sys.exit(main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING))
File "C:\Python\lib\unittest\main.py", line 100, in __init__
self.parseArgs(argv)
File "C:\Python\lib\unittest\main.py", line 147, in parseArgs
self.createTests()
File "C:\Python\lib\unittest\main.py", line 158, in createTests
self.test = self.testLoader.loadTestsFromNames(self.testNames,
File "C:\Python\lib\unittest\loader.py", line 220, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python\lib\unittest\loader.py", line 220, in
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python\lib\unittest\loader.py", line 198, in loadTestsFromName
inst = parent(name)
TypeError: Config.__init__() takes 1 positional argument but 2 were given
Process finished with exit code 1
Empty suite
Я хочу напечатать следующее:
"C:/Users/example"
foo
Подробнее здесь: [url]https://stackoverflow.com/questions/72521171/get-properties-of-a-class-from-unittest[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия