Где включить функции setup_module (module) и terdown_module (module) в pytest

У меня есть куча тестов, написанных с использованием pytest. Есть все под каталогом «dir» .. например dir/test_base.py dir/test_something.py dir/test_something2.py …. Упрощенная версия кода в них выглядит следующим образом: test_base.py import pytest class TestBase: def setup_module(module): assert False def teardown_module(module): assert False test_something.py import pytest from test_base import TestBase class TestSomething(TestBase): def test_dummy(): pass test_something2.py import […]

Работа с большим двоичным файлом (3 ГБ) в докере и Дженкинсе

Я использую модель google (двоичный файл: около 3 ГБ) в моем файле докеров, а затем использую Jenkins для сборки и развертывания на производственном сервере. Остальная часть кода вытаскивается из репозитория битбакет. Пример строки из файла докера, где я загружаю и разархивирую файл. Это происходит только один раз, когда эта команда будет кэшироваться. FROM python:2.7.13-onbuild RUN […]

Запись stdout и stderr в файл журнала с использованием инструкции Python с '

Я хочу записать std-вывод части кода Python в файл, используя оператор 'with': with log_to_file('log'): # execute code Это самый простой способ сделать это, чтобы определить log_to_file вручную, например: import sys class log_to_file(): def __init__(self, filename): self.f = open(filename, 'wb') def __enter__(self): self.stdout = sys.stdout self.stderr = sys.stderr sys.stdout = self.f sys.stderr = self.f def __exit__(self, […]

Соответствующая иерархия файлов для unittesting в Python

Я разрабатываю коллекцию пакетов / модулей Python (без исполняемых файлов). Каков правильный / лучший способ настройки иерархии файлов для тестирования. Я могу представить два сценария: Сценарий 1: AllPackages/ package1/ module1-1.py module1-2.py package2/ module2-1.py module2-2.py tests/ package1/ test_module1-1.py test_module1-2.py package2/ test_module2-1.py test_module2-2.py Сценарий 2: AllPackages/ package1/ module1-1.py module1-2.py tests/ test_module1-1.py test_module1-2.py package2/ module2-1.py module2-2.py tests/ test_module2-1.py […]

Невозможно найти способ избежать кавычек в json в API YouTube

Я использую API YouTube, и я использую Python urllib2.urlopen () для отправки запроса GET. Затем я передаю результат в Javascript. (Я использую Django) Итак, что-то вроде этого: result = urllib2.urlopen('https://gdata.youtube.com/feeds/api/videos?'+query+'&max-results=1&alt=json') Я использую jQuery для разбора отформатированного ответа JSON, однако некоторые видео / описания YouTube имеют двойные кавычки, и это нарушает функцию parseJSON (). Любая помощь […]

Сохранение подписи сигнатур функций, согласованных для функции, которая принимает надмножество аргументов другой функции

У меня есть функция ( foo ), которая является оболочкой функции удобства для другой функции ( bar ). foo , затем выполняет еще пару задач на выходе. Например: def bar(bar_arg, bar_kw=None): #do some stuff return ret def foo(bar_arg, foo_arg, bar_kw=None, foo_kw=None): ret = bar(bar_arg, bar_kw) ret.some_method(foo_arg, foo_kw=foo_kw) Я бы хотел, чтобы сигнатура вызова для foo […]

3D-гистограммы и контурные сюжеты Python

У меня проблема с контурной функцией matplotlib. У меня есть файл данных txt, из которого я импортирую свои данные. У меня есть столбцы данных (pm1 и pm2), и я выполняю 2D-гистограмму. Я хочу построить эти данные как трехмерную гистограмму и как график контура, чтобы увидеть, где расположены максимальные значения. Это мой код: fig = plt.figure() […]

Как я могу дать пользователям возможность писать сценарии (безопасным способом)?

У меня в настоящее время проблема, когда мне нужно написать функцию, которая получает словарь, где все значения являются строками или словарями и выводит строку. Проблема заключается в логике создания этой выходной строки. Я хотел бы позволить пользователю написать логику. Теперь, конечно, я могу просто попросить пользователя создать действительный скрипт Python с функцией def generate_string(input_dict): # […]

Django – страницы для тестирования на 500 статусов

У меня есть проект, в котором некоторые изменения могут привести к 500 статусу в некоторых представлениях. Какой самый элегантный способ сделать модульные тесты, которые будут проверять все просмотры / страницы (со статическими маршрутами, без vars в них, конечно), чтобы не возвращать статус 500?

Можно ли добавить значение с именем «Нет» в тип перечисления?

могу ли я добавить значение с именем «Нет» в перечисление? например from enum import Enum class Color(Enum): None=0 #represent no color at all red = 1 green = 2 blue = 3 color=Color.None if (color==Color.None): #don't fill the rect else: #fill the rect with the color Этот вопрос связан с моим предыдущим вопросом. Как установить […]

Python - лучший язык программирования в мире.