Size: a a a

testing_in_python

2021 July 27

MR

Merg Rebas in testing_in_python
А ты не хочешь просто запустить и узнать?)
источник

MR

Merg Rebas in testing_in_python
Только у тебя переменная val1 неправильно передается и вызывается
источник

SC

Sergey Chernov in testing_in_python
почему?
источник

MR

Merg Rebas in testing_in_python
Исторически так сложилось
источник

SC

Sergey Chernov in testing_in_python
если ты имеешь ввиду что оно работает так
@pytest.mark.parametrize('val1',[1,2,3])
class test1:

  def test_one(self, val1)
      pass

   def test_two(self, val1)
      pass


то это я уже понял

мой изначальный вопрос был
подскажите пожалуйста как pytest 
через fixture
задать parametrize для class и функций
источник

СС

Сказочный Сникерс... in testing_in_python
scope='class'
источник

СС

Сказочный Сникерс... in testing_in_python
@pytest.fixture(scope='class', params=[1, 2, 3])
def class_fixture(request):
   return request.param * random.randint(1, 1000)


@pytest.fixture(scope='function', params=[1, 2, 3])
def func_fixture(request):
   return request.param * random.randint(1, 1000)


class Test:
   def test(self, class_fixture, func_fixture):
       print(class_fixture, func_fixture)


  def test1(self, class_fixture, func_fixture):
      print(class_fixture, func_fixture)
источник

SC

Sergey Chernov in testing_in_python
спс
источник

AK

Aleksandr Kasianov in testing_in_python
На Самсунг смог э перейти в бут лоадер
Дальше - пермишен денаед
источник

M

Mike in testing_in_python
Привет.
Подскажите что можно использовать для тестировании девайса в связке:
Веб+Мобилка+блютуз девайс. Нужно e2e и обычные API тесты.
Проверять нужно ДЕВАЙС.
источник

OC

Oleg Chaplashkin in testing_in_python
Ребят, что-то не задумывался, а сейчас наткнулся и встрял вопрос:
Когда мы используем unittests там уже написано достаточно количество проверок (assertions) для разной логики.
И она легко цепляется под
class TestMyClass(unittests.TestCase):
....

Однако когда я перехожу на pytest, unittests.TestCase наследование убивает использование фикстур, например:
class TestMyClass(unittests.TestCase):

@pytest.fixture()
def my_fixture(self):
return 'test'

def test_via_my_fixture(self, my_fixture):
self.assertEqual(my_fixture, "test")


Как быть с набором красивых ассертов в модуле юниттеста? Писать дополнительный слой assertion-utils?
источник

СС

Сказочный Сникерс... in testing_in_python
не вижу ничего красивого в юниттестовских ассертах)
источник

СС

Сказочный Сникерс... in testing_in_python
self.assertEqual(a, b)
||||
assert a == b
источник

IS

Idi Suda in testing_in_python
красивых ассертов, лол
источник

IB

Ildar Bekmansurov in testing_in_python
красота - в глазах смотрящего
источник

АЧ

Антон Чертков... in testing_in_python
Не в таком виде, но у меня работает. Сначала вызывается фикстура класса, после неё поднимается фикстура функции(ий).
Итого: под одним парам классом, вызывается несколько парам функций
источник

P

Pengo in testing_in_python
Интерфейс с девайсом только Bluetooth?
источник

M

Mike in testing_in_python
Как остальное наладить я знаю
Проблема как протестировать backend + mobile + Bluetooth
источник

O

Olga in testing_in_python
Здравствуйте!
В сети не могу найти ничего внятного про проблему выбора env VS venv для автотестов.

ВОПРОС 1:
Насколько (в реалиях 2021 года) простыня-гроб-кладбище использовать виртуальное окружение venv вместо “классического” env?

Пару лет назад я проходила курс по тестированию на Питоне от А.Баранцева (потом по рабочим нуждам перешла на тестирование на C#, и вот сейчас хочу реанимировать и Питон).
В курсе очень подчеркивалось, что при создании нового Проекта надо пользоваться только и исключительно виртуальным окружением, созданным “старым” способом через env (!). И никак иначе.  
Как я поняла это как-то связано с тем, что именно env по умолчанию стоит в гит-игноре при создании будущего (пока еще пустого)  проекта на ГитХабе.  
Вот что я вижу в файлике ГитИгнор на гитхабе:  
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

Но в новых версиях ПиЧарма при создании File--New по умолчанию создается виртуальное окружение venv! Заменить его (вручную) на env —  можно, но это довольно запарная и неочевидная процедура.  
 
***
ВОПРОС 2:
Создать ENV в новых версиях ПиЧарма у меня выходит только вот так (ниже). Насколько кустарны вот эти два пути, или все правильно делаю?  

Путь 1  
а) создать проект (его заготовка) на ГитХабе (ок)
б) проект этот успешно коммитится на локальную машину и обратно (Т.е., важно, проект первично был создан на ГитХабе, а НЕ через File--New в ПиЧарм!)
в) далее через Терминал в ПиЧарме (или в cmd) медленной и печальной многоходовкой создаю вирт.окружение ENV, чтобы уже туда установить Селениум+ПиТест.  

Путь 2
а) File--New в ПиЧарм. По умолчанию и безвариантно предлагается создается виртуальное окружение venv!  Альтернатива одна —  вручную (в момент выбора папки для проекта) переключиться в ПиЧарме на радиобаттон на  “Previously configured interpreter”... временно выбрать любой доступный Питон... и далее снова идти в Терминал… см. пп 1в
в) Как закинуть на Гит проект, изначально созданный на локальной машине, пока не пробовала, но наверное как-то можно.
источник

V

Vita in testing_in_python
Как говорится в Человек-пауке: Через вселённых: ладно, в последний раз, обществу пофиг на env и venv, главное, чтобы код нормально работал у другого тестировщика и в CI
источник