Pytest: во время выполнения параметризация теста

У меня не установлен 11g, но есть операция PIVOT и UNPIVOT для преобразования столбцов в строки / строки в столбцы, что может быть хорошей отправной точкой.

http://www.oracle.com/technology/pub/articles/oracle-database-11g-top-features/11g-pivot.html

(Фактически проведенное некоторое дальнейшее исследование, это не подходит для этого случая - оно работает с фактическими строками / столбцами, но не с наборами данных в столбце).

Существует также DBMS_UTILITY.comma_to_table и table_to_comma для преобразования списков CSV в pl / sql-таблицы. Есть некоторые ограничения (обработка строк и т. Д.), Но может быть хорошей отправной точкой.

Моей наклонностью было бы использовать подход TYPE с простой функцией, которая выполняет comma_to_table, затем PIPE ROW для каждой записи в результат comma_to_table (к сожалению, DBMS_UTILITY.comma_to_table - это процедура, поэтому нельзя звонить из SQL).

0
задан Ankit Gupta 1 March 2019 в 09:29
поделиться

1 ответ

Не заставляйте тесты зависеть друг от друга. Это не очень хорошая практика, как описано здесь .

Если вы хотите повторно использовать ответ на запрос, вы можете обернуть его в прибор .

@pytest.fixture(scope="module")
def response():
    import requests
    return requests.get(<some url>)

def test(response):
    <Use resp values and pass it one by one to another api>

Было бы также неплохо посмеяться над запросом, чтобы сделать тесты независимыми от удаленного ресурса. Для этого вы можете использовать библиотеку ответов .

import responses
import requests

@responses.activate
def test_simple():
    responses.add(responses.GET, 'http://twitter.com/api/1/foobar',
                  json={'error': 'not found'}, status=404)

    resp = requests.get('http://twitter.com/api/1/foobar')
0
ответ дан Adrian Krupa 1 March 2019 в 09:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: