Size: a a a

testing_in_python

2020 August 28

IP

Ivan Petrov in testing_in_python
https://gget.it/h3ep/a.gif
Правда, у него такие приколы
источник

ТЭ

Тачами Экстович... in testing_in_python
Ну, потому что там под капотом код типа:
If platform == ‘win’:
  win_type(…)
else platform == ‘linux’:
  lin_type(…)

И так далее
источник

S

Sergei in testing_in_python
если этого не видно, значит этого нет :)
источник

ТЭ

Тачами Экстович... in testing_in_python
Sergei
если этого не видно, значит этого нет :)
А если у них это в ридми написано? 🙂
источник

S

Sergei in testing_in_python
кто ж его читает)
источник

BK

Boris Krutskih in testing_in_python
Sergei
from something import feature

def make_feature():
   i = 0

   def _feature(step_name):
       i += 1
       return feature(f'{i}. {step_name}')

   return _feature

class TestMy:

   test_feature = make_feature()
   
   @test_feature("Some step")
   def test_1(self):
       pass

   @test_feature("Another step")
   def test_2(self):
       pass
получается делает отдельный декоратор, но я же могу просто в аллюровский такую логику добавить чтобы не плодить лишний декоратор ?
источник

BK

Boris Krutskih in testing_in_python
Anatoly Bobunov
Чую что проблемы иммено с иерархией у вас.
Фича это отдельный тест или кусок теста. Степ это чисто кусок теста.
Так вот, по скрину я виже что вы в каждую фичу записали просто тест. Тогда почему этот отдельный тест у вас является шагом...
Короче выдели Delete_comment, remind_me_later and etc в отдельные Step. А уже сами степы пихай в тест.
Т.е. получиться что step - delete_comment.
И отдельно будет тест - test_delete_comment.
А дальше уже из степов собирый нужный тебе сценарий в других тестах...

Ссори, возможно сумбурно, приходиться отвлекаться на другую деятельность. Если мысль не понятна, то могу расписать иначе или поискать статьи чтобы полнее донести мысли
тесты у меня идут таким образом https://i.imgur.com/HPxtoOC.png
источник

IS

Idi Suda in testing_in_python
Boris Krutskih
тесты у меня идут таким образом https://i.imgur.com/HPxtoOC.png
Ты же в курсе, что если положить параметры запроса в params,  то они конкатенируются в правильную строку с & ?
источник

BK

Boris Krutskih in testing_in_python
Idi Suda
Ты же в курсе, что если положить параметры запроса в params,  то они конкатенируются в правильную строку с & ?
Нууу, а что не так?)
источник

BK

Boris Krutskih in testing_in_python
Idi Suda
Ты же в курсе, что если положить параметры запроса в params,  то они конкатенируются в правильную строку с & ?
ааа кажись дошло
источник

IS

Idi Suda in testing_in_python
Boris Krutskih
Нууу, а что не так?)
Да все ок. Щас ты формируешь УРЛ = строка + строка&параметр&параметр. Когда их несколько, мне кажется заебно будет редактировать строки эти ебучие
источник

BK

Boris Krutskih in testing_in_python
типа передавать нормально через params, а не пихать в урл напрямую
источник

IS

Idi Suda in testing_in_python
Да
источник

BK

Boris Krutskih in testing_in_python
это копипаста с postman от программиста 😁
а я оставил на потом (рефакторинг)
источник

BK

Boris Krutskih in testing_in_python
А вообще да, будет заёбно)
источник

BK

Boris Krutskih in testing_in_python
Но беда с декоратором allure.feature всеравно не поддается решению)

   @feature('Get general list watchlist')
   def test_get_general_list_watchlist(self, api_v2):
       res = api_v2.request(
           method='get',
           url=endpoints.WATCH_LIST + f'general-list{ACCESS_TOKEN_AMD}&limit=10'
       )

       assert res.status_code == 200
       assert 'error' not in res.text

как я его могу переопределить чтобы и старый не сломать и новый не городить?
источник

BK

Boris Krutskih in testing_in_python
В итоге должно получится что к каждой фиче перед строкой должен номер подставляться, 1++
источник

S

Sergei in testing_in_python
если так сделаешь то только в одном тесте будет идти нумерация с 1, в других - уже будут другие цифры, в зависимости от того, сколько было шагов в предыдущих тестах)
источник

S

Sergei in testing_in_python
будет сквозная нумерация на все шаги во всех тестах)
источник

BK

Boris Krutskih in testing_in_python
Sergei
если так сделаешь то только в одном тесте будет идти нумерация с 1, в других - уже будут другие цифры, в зависимости от того, сколько было шагов в предыдущих тестах)
окей, а если всётаки сделать что-то типа такого?)
 @num
@feature('Get general list watchlist')
   def test_get_general_list_watchlist(self, api_v2):
       res = api_v2.request(
           method='get',
           url=endpoints.WATCH_LIST + f'general-list{ACCESS_TOKEN_AMD}&limit=10'
       )

       assert res.status_code == 200
       assert 'error' not in res.text
добавить декоратор @num
и вешать над каждой фичей в тесте
источник