Size: a a a

testing_in_python

2020 August 28

S

Sergei in testing_in_python
Сказочный Сникерс
а в чем сложность?
я не знаю, т.к. не заморачивался) а вот посмотреть любопытно)
источник

IS

Idi Suda in testing_in_python
Boris Krutskih
Ну кроме меня в отчёты будут смотреть разрабы\тестировщики и ПМы и возможно заказчик (в чём я сильно сомневаюсь)
Ну вот например для ПМов было бы удобно и сразу понятно чё происходит, лично мне похер) я и так понимаю что у меня когда выполняется
Можно называть их понятно, например
источник

AB

Anatoly Bobunov in testing_in_python
Boris Krutskih
Ну кроме меня в отчёты будут смотреть разрабы\тестировщики и ПМы и возможно заказчик (в чём я сильно сомневаюсь)
Ну вот например для ПМов было бы удобно и сразу понятно чё происходит, лично мне похер) я и так понимаю что у меня когда выполняется
Вот смотри. Сейчас у тебя нумерация прописана хардкодом.
Если мы ставим какой либо код чтобы он нумеровал тесты, то нужно проследить чтобы они всегда и везде запускались в одинаковом порядке. А если когда нибудь и кто нибудь запустит их не так или добавит в середину файла новый тест, то весь порядок летит к чертям...
А если порядок всегда один и тот же - то зачем мутить лишний код?
источник

СС

Сказочный Сникерс... in testing_in_python
Sergei
я не знаю, т.к. не заморачивался) а вот посмотреть любопытно)
def deco(f):
   last_class_seen = ''
   
   @wraps(f)
    def wrapper(self, *args, **kwargs):
          if last_class_seen != self.__class__.__name__:
                 last_class_seen = self.__name__
                 drop_counter()
          do_smth_with(last_class_seen)
          return f(*args, **kwargs)
     return wrapper
источник

BK

Boris Krutskih in testing_in_python
Anatoly Bobunov
Вот смотри. Сейчас у тебя нумерация прописана хардкодом.
Если мы ставим какой либо код чтобы он нумеровал тесты, то нужно проследить чтобы они всегда и везде запускались в одинаковом порядке. А если когда нибудь и кто нибудь запустит их не так или добавит в середину файла новый тест, то весь порядок летит к чертям...
А если порядок всегда один и тот же - то зачем мутить лишний код?
если кто-то добавит в середину новый тест, то нумерация всех тестов произойдет по новой
источник

BK

Boris Krutskih in testing_in_python
Anatoly Bobunov
Вот смотри. Сейчас у тебя нумерация прописана хардкодом.
Если мы ставим какой либо код чтобы он нумеровал тесты, то нужно проследить чтобы они всегда и везде запускались в одинаковом порядке. А если когда нибудь и кто нибудь запустит их не так или добавит в середину файла новый тест, то весь порядок летит к чертям...
А если порядок всегда один и тот же - то зачем мутить лишний код?
Ну начёт порядка тестов, возможно будут меняться местами
источник

СС

Сказочный Сникерс... in testing_in_python
Sergei
> запуская их черех xdist

ну тут может и не быть большой проблемы, если поставить лоадер по файлам, тогда все тесты внутри одного класса будут на одной запущены
не будет проблем, xdist на каждом воркере колектит все тесты
источник

СС

Сказочный Сникерс... in testing_in_python
а значит декоратор выше применится ко всем тестам
источник

СС

Сказочный Сникерс... in testing_in_python
а на каком он запустится - это уже не имеет значения
источник

S

Sergei in testing_in_python
Сказочный Сникерс
def deco(f):
   last_class_seen = ''
   
   @wraps(f)
    def wrapper(self, *args, **kwargs):
          if last_class_seen != self.__class__.__name__:
                 last_class_seen = self.__name__
                 drop_counter()
          do_smth_with(last_class_seen)
          return f(*args, **kwargs)
     return wrapper
тогда еще неплохо бы добавить проверку, что такое имя класса уже использовалось) а то будет расти кодовая база и получится случайно, что будет создано два класса с одинаковым именем в двух подряд загружаемых файлах)
источник

СС

Сказочный Сникерс... in testing_in_python
Sergei
тогда еще неплохо бы добавить проверку, что такое имя класса уже использовалось) а то будет расти кодовая база и получится случайно, что будет создано два класса с одинаковым именем в двух подряд загружаемых файлах)
Ну это уже мелочи. Можно смотреть имя класса вместе с именем файла
источник

СС

Сказочный Сникерс... in testing_in_python
И кстати чтобы код выше сломался такие классы должны идти прям друг за другом
источник

AM

Artur Mustafin in testing_in_python
Boris Krutskih
а затея эта вся, чтобы избавится от подобной херни)))https://i.imgur.com/sGuxeSE.png ручной номерации
Перепиши на behave. В данном случае слово перепиши пребразуется в слово добавь feature файлы, которые будут описывать сценарии и порядок запуска твоих методов, в тестовых сценариях
источник

IS

Idi Suda in testing_in_python
Artur Mustafin
Перепиши на behave. В данном случае слово перепиши пребразуется в слово добавь feature файлы, которые будут описывать сценарии и порядок запуска твоих методов, в тестовых сценариях
лол
источник

AM

Artur Mustafin in testing_in_python
BDD
источник

AM

Artur Mustafin in testing_in_python
Велосипеды придумываете, господа.
источник

S

Sergei in testing_in_python
как вариант можешь запросить json по урлу localhost:444/status и распарсить :)
источник

I

Ilya in testing_in_python
Доброго времени суток.
Подскажите, есть возможность распределять направления между воркерами, при параллельном запуске тестирования, используя pytest?
Например:
first/
   test_1.py
   test_2.py
   test_3.py
second/
   test_1.py
   test_2.py
   test_3.py
Суть в том, что я хочу запустить одновременно тесты из директории first и second в 2 потока, да так, чтоб они друг другу не мешали. В идеале конечно, чтоб каждый процесс выполнял свою работу только из своей директории.
[gw0] == first/..
[gw1] == second/..

Возможно ли это реализовать как-то, используя pytest-xdist? Либо я тупой(большая вероятность), либо в оф. документации нет об этом информации
источник

AB

Anatoly Bobunov in testing_in_python
Ilya
Доброго времени суток.
Подскажите, есть возможность распределять направления между воркерами, при параллельном запуске тестирования, используя pytest?
Например:
first/
   test_1.py
   test_2.py
   test_3.py
second/
   test_1.py
   test_2.py
   test_3.py
Суть в том, что я хочу запустить одновременно тесты из директории first и second в 2 потока, да так, чтоб они друг другу не мешали. В идеале конечно, чтоб каждый процесс выполнял свою работу только из своей директории.
[gw0] == first/..
[gw1] == second/..

Возможно ли это реализовать как-то, используя pytest-xdist? Либо я тупой(большая вероятность), либо в оф. документации нет об этом информации
By default, using --numprocesses will send pending tests to any worker that is available, without any guaranteed order. You can change the test distribution algorithm this with the --dist option. It takes these values:

--dist no: The default algorithm, distributing one test at a time.
--dist loadscope: Tests are grouped by module for test functions and by class for test methods. Groups are distributed to available workers as whole units. This guarantees that all tests in a group run in the same process. This can be useful if you have expensive module-level or class-level fixtures. Grouping by class takes priority over grouping by module.
--dist loadfile: Tests are grouped by their containing file. Groups are distributed to available workers as whole units. This guarantees that all tests in a file run in the same worker.
источник

AB

Anatoly Bobunov in testing_in_python
Ilya
Доброго времени суток.
Подскажите, есть возможность распределять направления между воркерами, при параллельном запуске тестирования, используя pytest?
Например:
first/
   test_1.py
   test_2.py
   test_3.py
second/
   test_1.py
   test_2.py
   test_3.py
Суть в том, что я хочу запустить одновременно тесты из директории first и second в 2 потока, да так, чтоб они друг другу не мешали. В идеале конечно, чтоб каждый процесс выполнял свою работу только из своей директории.
[gw0] == first/..
[gw1] == second/..

Возможно ли это реализовать как-то, используя pytest-xdist? Либо я тупой(большая вероятность), либо в оф. документации нет об этом информации
гуглим - pytest xdist scope
источник