Size: a a a

testing_in_python

2020 August 18

S

Sergei in testing_in_python
Сделай фикстуру, которая будет открывать файл и возвращать содержимое:

@pytest.fixture
def fresh_ai_id():
   with open('action_item_id.txt', 'r') as outfile:
       return outfile.read()

и юзай в тестах где нужно :)

def test_get_action_item_by_item_id(self, api_v2, fresh_ai_id):
   res = api_v2.request(method='GET',
                        url=endpoints.WATCH_LIST + f"get-action-item?action_item_id={fresh_ai_id}&{ACCESS_TOKEN_AMD_}")

   assert res.status_code == 200
   assert 'error' not in res.text
источник

BK

Boris Krutskih in testing_in_python
Sergei
Сделай фикстуру, которая будет открывать файл и возвращать содержимое:

@pytest.fixture
def fresh_ai_id():
   with open('action_item_id.txt', 'r') as outfile:
       return outfile.read()

и юзай в тестах где нужно :)

def test_get_action_item_by_item_id(self, api_v2, fresh_ai_id):
   res = api_v2.request(method='GET',
                        url=endpoints.WATCH_LIST + f"get-action-item?action_item_id={fresh_ai_id}&{ACCESS_TOKEN_AMD_}")

   assert res.status_code == 200
   assert 'error' not in res.text
ну да, то что нужно. Спс
источник

BK

Boris Krutskih in testing_in_python
Sergei
Сделай фикстуру, которая будет открывать файл и возвращать содержимое:

@pytest.fixture
def fresh_ai_id():
   with open('action_item_id.txt', 'r') as outfile:
       return outfile.read()

и юзай в тестах где нужно :)

def test_get_action_item_by_item_id(self, api_v2, fresh_ai_id):
   res = api_v2.request(method='GET',
                        url=endpoints.WATCH_LIST + f"get-action-item?action_item_id={fresh_ai_id}&{ACCESS_TOKEN_AMD_}")

   assert res.status_code == 200
   assert 'error' not in res.text
и получается на все ридинги нужно клепать новую фикстуру, если помимо чтения из *.txt есть ещё несколько?
источник

BK

Boris Krutskih in testing_in_python
или же можно через запятую перечислить и вызывать?)
источник

S

Sergei in testing_in_python
Ага можно
источник

S

Sergei in testing_in_python
Можно просто перечислить и даже не вызывать :)
источник

BK

Boris Krutskih in testing_in_python
Sergei
Можно просто перечислить и даже не вызывать :)
типа не передавать фикстуру в функцию как сейчас?
источник

S

Sergei in testing_in_python
Лучше разберись сам как фикстуры работают :)
источник

EB

Evgenii B in testing_in_python
Sergei
> if c = true не вариант
это действительно так, лучше написать просто if c: :)
обычно опшнл параметры проверяют на if A is None, так что совет так себе
источник

S

Sergei in testing_in_python
обычно это где? :)
источник

S

Sergei in testing_in_python
есть куча проектов на питоне где используют вариант if A: (конечно и if A is None тоже часто встречается), начиная от джанги и кончая опенстеком и проч.
источник

EB

Evgenii B in testing_in_python
вопрос был про опшн параметры которые инстанциируются None и как их хендлить. Ответ: проверкой на is None, потому что truthiness чеки не ок
источник

EB

Evgenii B in testing_in_python
во всех остальных случаях в коде по-питоньи делать if A: и рассчитывать на truthiness ответы от _bool_() метода или любых других фолбэков
источник

S

Sergei in testing_in_python
Evgenii B
во всех остальных случаях в коде по-питоньи делать if A: и рассчитывать на truthiness ответы от _bool_() метода или любых других фолбэков
ну не во всех на самом деле, н-р при работе с пандасом можно нарваться на исключение:

In [1]: import pandas as pd                                                     

In [2]: df = pd.DataFrame()                                                    

In [3]: if df:
  ...:     print('hello')
  ...:                                                                        
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-48adc4acf2ef> in <module>
----> 1 if df:
     2     print('hello')
     3

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/generic.py in __nonzero__(self)
  1476
  1477     def __nonzero__(self):
-> 1478         raise ValueError(
  1479             f"The truth value of a {type(self).__name__} is ambiguous. "
  1480             "Use a.empty, a.bool(), a.item(), a.any() or a.all()."

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

но это уже специфика библиотеки
источник

СС

Сказочный Сникерс... in testing_in_python
Evgenii B
во всех остальных случаях в коде по-питоньи делать if A: и рассчитывать на truthiness ответы от _bool_() метода или любых других фолбэков
Пока в переменную не прилетит например ноль)
источник
2020 August 20

А

Алексей in testing_in_python
существует ли возможность включить все ассерты пайтеста в аллюр репорт не оборачивая каждый в with allure.step('...')?
источник

ТЭ

Тачами Экстович... in testing_in_python
Можно вынести их в отдельные функции и обернуть те в @allure.step
источник

Р

Ренат in testing_in_python
Всем привет! Как с помощью селениума проверить кликабельность кнопки? Т.е. есть форма и пока обязательные поля не заполнишь она неактивна.
источник

T

Tishka17 in testing_in_python
Попытаться кликнуть
источник

СС

Сказочный Сникерс... in testing_in_python
Tishka17
Попытаться кликнуть
отличный совет!
источник