По вопросам об инструменте тестирования Python pytest. Также добавьте тег [python] для вопросов с тегом [pytest].
Мне известны декораторы pytest, которые помечают тесты как пропущенные (условно). Однако все они оцениваются до начала теста. У меня есть пара тестов, которые требуют взаимодействия с пользователем (очевидно, они не запускаются в CI), и если такое взаимодействие не предусмотрено, я бы хотел помети...
У меня есть два класса, как показано ниже:
В родительском.py:
class TestClassParent(ABC):
def test_method(self):
print('the method TestMethod is called')
return True
В дочернем.py:
from src.scripts.parent import TestClassParent
class TestClassChild(TestClassParent):
custom_v...
24 Сен 2023 в 01:55
Я выполняю рабочий процесс непрерывной интеграции в GitHub Actions, чтобы запускать команду «pytest backend/tests/» при отправке в любую ветку. Прямо сейчас я тестирую функциональную ветку. Файл pytest.yml находится в /.github/workflows/. Действия GitHub не отображают мой рабочий процесс даже пос...
23 Сен 2023 в 08:49
Я пытаюсь запустить pytest, используя функцию из моего основного кода с помощью действий Github. Мой основной код в виде dbutils.widgets, который вызывает сбой моего pytest.
На первой итерации я получил ошибку:
`NameError: name 'dbutils' is not defined`
Итак, в свой файл pytest я добавил следующие...
22 Сен 2023 в 17:37
Я пытаюсь выполнить правильные автотесты на Python, используя SQLAlchemy для подключения к базе данных Postgre и настройки тестовых данных для моих тестов в приспособлении PyTest. Когда тесты выполнялись, после yield я хочу очистить все созданные в данных приспособления и закрыть соединение SQLAlch...
22 Сен 2023 в 15:11
Каждый раз, когда я регистрирую некоторую информацию с помощью средства ведения журнала Python, я вижу в отчете Allure «журнал», который Allure создает автоматически. Это стандартный вывод. Любая строка в моем коде logging.info('some info') создавала другую строку в стандартном выводе, которая авт...
Я могу создать и добавить файл CSV из Python (pytest) в формате ниже.
Я использовал приведенный ниже код для создания и добавления этого файла
user_list = col1.find_element(By.TAG_NAME, "ul").text
total_count = driver.find_elements(By.TAG_NAME, "tr")[3].find_element(By.CLASS_NAME,
...
У меня есть вариант использования, когда у меня есть некоторый код, который необходимо перебрать семейство фикстур и выполнить общий набор операций над каждым значением фикстуры. Сейчас я обрабатываю это с помощью статически определенных списков, которые переношу в плагины, но это несколько утомите...
22 Сен 2023 в 07:31
У меня возникли проблемы с запуском pytest в докере. Команда pytest отлично работает локально, но докер не работает.
Dockerfile - это
# Use the official Python base image
FROM python:3.11-bullseye
RUN pip install numpy && pip install setuptools
# Copy the debPackages.txt file
COPY debPackages.txt...
22 Сен 2023 в 01:01
У меня есть файл pytest.ini со следующим содержимым
[pytest]
testpaths = tests/database/* tests/*
addopts = -v --cov="merlot" --cov="merlot/sql" --cov-report term-missing
Мои тесты построены таким образом, что
tests | test1.py
| test2.py
|
| subfolder | test3.py
...
Когда я запускаю pytest на Python 3.11.05, при запуске pytest возникает ошибка.
22:58:38 Traceback (most recent call last):
22:58:38 File "/usr/lib/python3.11/site-packages/py/_vendored_packages/apipkg.py", line 141, in __makeattr
22:58:38 modpath, attrname = self.__map__[name]
22:58:38 ...
Я использую python subprocess.run для вызова файлов .sh и .py, которые расположены в другом каталоге, удаленном от источника. Это единственная связь между двумя каталогами, поэтому импорт нецелесообразен. Приведенный ниже код был упрощен до минимума.
parent-dir/
├── dirA
│ ├── main.py
│ └── ma...
21 Сен 2023 в 06:01
Я создал очень простой набор тестов, для которого пытаюсь создать отчет, чтобы получить представление о Pytest. Отчет генерируется, как и ожидалось, но в нем нет информации о среде и, что более важно, в таблице результатов нет тестов. Вот мои тесты:
import pytest
import time
# python -m pytest -v...
21 Сен 2023 в 00:17
Я пишу модульный тест для класса B, который должен проверять, что при создании B() был выполнен правильный вызов super().__init__.
Я использую этот код:
import pytest
class A:
def __init__(self, some_val, **kwargs):
self.some_val = some_val
class B(A):
def __init__(self, some_val, some_o...
20 Сен 2023 в 23:43
Я пытаюсь создать несколько модульных тестов pytest для специального модуля ansible. Я пытаюсь издеваться над клиентом boto3 и просто проверить логику класса. Я перенес инициализацию boto в метод класса, чтобы можно было исправить класс и заменить его макетным объектом.
Патч кажется успешным, мето...
20 Сен 2023 в 01:58
У меня есть файл jenkins, который использует файл docker, и меня интересует, как я могу скопировать файл из образа docker в рабочую область jenkins. В частности, я создаю отчет об образе докера, который я хотел бы опубликовать в работе Дженкинса. Например
node() {
stage('Start autotest') {
...
У меня есть код Python ниже:
#datamanager.py
import os
BASE_DIR = '' #SOME_VALUE
data_list = '' #SOME_VALUE
loaded_data = dict.fromkeys(data_list)
def update_data():
for key, current_model in loaded_data.items():
mod_dir = os.path.join(BASE_DIR, key)
if not os.path.exists(...
19 Сен 2023 в 12:41
У меня есть следующий шаблон тестовых случаев
def test_component_feature_1(mock_app):
# COMMON PART: extract all components widgets from the app and assert their default states
# Activate component widget 1
# Assert the response of the remaining components.
def test_component_featur...
18 Сен 2023 в 15:53
У меня такая проблема: у меня есть приспособление под названием appclient, которое является областью сеанса, его тело выглядит так: @pytest.fixture(scope='session') def appclient(): yield SomeClass()
Тогда у меня есть два прибора для очистки после теста: cleanup_1 и cleanup_2, оба имеют область дей...
Я определил следующее приспособление, которое удаляет все из пути после корневого каталога (myapp).
Это необходимо, поскольку pytest меняет текущий каталог (cwd) при выполнении тестов (почему?).
Однако этот подход не очень хорош, поскольку он терпит неудачу, если в пути существует более одной записи...
Я знаю, что это кажется несложным и должно работать без сбоев, но я получаю сумасшедшую ошибку во время миграции, которая в настоящее время выполняется во время инициализации pytest.
Я получаю следующую ошибку:
ValueError: Cannot assign "<User: redshred_default_contact>": "Client.primary_contact" mu...
15 Сен 2023 в 17:21
У меня есть несколько разных приложений FastAPI, хранящихся в одном репозитории с файловой структурой:
├── component_1/
│ ├── src/
│ │ ├── some_source.py
│ │ └── app.py
│ └── test_for_component1.py
└── component_2/
├── src/
│ ├── more_source.py
│ └── app.py
└── test_f...
15 Сен 2023 в 13:59
Рассмотрим следующую простую программу:
# thingy.py
import sys
print("ready")
for line in sys.stdin:
print(line, end='')
Если я хочу провести модульное тестирование программы, я могу достаточно легко отключить побочные эффекты ready и print.
Однако, если я хочу выполнить сквозное тестирование...
14 Сен 2023 в 19:55
Я написал тестовый код, как показано ниже, и пытаюсь исправить функцию subtract_f в util.math.py с помощью patch_wrong_subtract_f() из моего тестового кода. Однако я столкнулся с проблемой, из-за которой она не работает должным образом. Буду признателен за помощь в выявлении и решении проблемы.
В...
14 Сен 2023 в 17:57
Я пытаюсь понять, что SQL-алхимия делает с объектами. Должно быть, у них есть какое-то государство, я не пугаю. В приведенном ниже примере test_one выполнится успешно, но test_two завершится неудачно, поскольку объект "Сотрудник" не будет добавлен в сеанс в test_two. Где-то во внутренних компонен...
13 Сен 2023 в 17:43