
Spacehug
29.03.2017
07:41:54
То есть, в целях читаемости, имеет смысл объявлять все классы в одном месте, а все внешние функции в другом?

53r63rn4r
29.03.2017
07:43:03
В другом классе? Зачем?

Spacehug
29.03.2017
07:43:05
Есть пеп на эту тему?

Google

Сергей
29.03.2017
07:44:21
Ну если у тебя та функция вызывается из кучи классов, то есть смысл либо запихнуть Ее в отельный файл, либо в базовый класс, для читаемости... а так - пофигу

53r63rn4r
29.03.2017
07:44:37
Это зависит от твоих предпочтений и от того: сколько у тебя там настроено

b0g3r
29.03.2017
07:47:02
Зачем функции запихивать в классы?
Создаешь файлик helpers.py наполняешь нужными функциями - радуешься жизни

53r63rn4r
29.03.2017
07:47:58
или utils.py

Spacehug
29.03.2017
07:48:42

53r63rn4r
29.03.2017
07:49:04
У меня в хелперах то, что юзается очень редко(но юзается), а в утилсах функции, классы, которые потом можно захавать, гггг

b0g3r
29.03.2017
07:49:12
Я ж не с тобой спорю :)

Spacehug
29.03.2017
07:49:50
Так и я не спорю )

53r63rn4r
29.03.2017
07:50:34

Spacehug
29.03.2017
07:51:06
Вот да, именно про это и спрашивал )

Google

53r63rn4r
29.03.2017
07:51:11
Не, ну это уже вопрос по архитектуре, если у меня определенные классы юзают тот метод, а вторые нет, то почему в базовом для них классе не определить эти методы?
Я за область видимости

Spacehug
29.03.2017
07:52:06
Так, попробую объяснить почётче

53r63rn4r
29.03.2017
07:52:19
Да это я не с тобой, это я к богеру
:D
@b0g3r
Я бы сделал так(я так и делал), сначала нахреначил всё всё всё
А потом бы смотрел что повторяется и где используется и что можно вынести в общее
И потом бы уже это рефакторил(выделял, выносил, объединял)

Spacehug
29.03.2017
07:57:09
Есть три класса:
класс Штуки, в котором вызывается свернуть_шаверму(), не являющаяся методом этого класса
Дрюки, в котором вызывается развернуть_шаверму(), не являющаяся методом этого класса
Брюки, в котором вызывается уронить_шаверму(), не являющаяся методом этго класса
В файле собсна пофиг как, это я понял, но лучше сгруппировать для читаемости? (при условии, что функций и классов кот наплакал и отдельный helpers.py как бы и не нужен)
Типа так:
класс Штуки
класс Дрюки
класс Брюки
деф свернуть_шаверму()
деф развернуть_шаверму()
деф уронить_шаверму()
Или можно как бог на душу положит и это нормально? Потом чтецы этого кода не будут меня проклинать? )

53r63rn4r
29.03.2017
07:58:24
Я бы сделал так(я так и делал), сначала нахреначил всё всё всё
А потом бы смотрел что повторяется и где используется и что можно вынести в общее
И потом бы уже это рефакторил(выделял, выносил, объединял)

Spacehug
29.03.2017
07:58:42
Да, да, я слишком медленно писал )

Сергей
29.03.2017
07:59:07
если юзается еще где-то - выноси, не юзается, фигачь в класс, че ему отдельно валяться-то?)
а вообще, делай, как быстрее и не морочь голову)

53r63rn4r
29.03.2017
08:00:11
Если юзается еще где-то, кроме класса - выноси, если юзается только в классе - не выноси, если юзается в нескольких классах несколько функций(вынеси в базовый класс, и отнаследуй его). Аминь.

Ahmed
29.03.2017
08:03:38

stonepig
29.03.2017
08:04:06
Посоны, как в unittest задать порядок выполнения тестов в тест-кейсе? я-то думал, они по порядку, сверху вниз, а у меня наоборот.

53r63rn4r
29.03.2017
08:04:34
Это к @LesterChaykin

Google

Oleg
29.03.2017
08:04:50
Ого! 2017 pycharm вышел 0_о
Спасибо, ушёл обновлять )

53r63rn4r
29.03.2017
08:05:02
;D

Сергей
29.03.2017
08:05:10
какую-то панельку добавили странную)
раньше не было
или выключена была по умолчанию

stonepig
29.03.2017
08:05:50

53r63rn4r
29.03.2017
08:06:24
Мне еще фон загрузки нравится

Dmitriy
29.03.2017
08:06:26
А какой от этого профит?

Oleg
29.03.2017
08:06:29

Dmitriy
29.03.2017
08:06:52
Тесты должны быть независимыми, даже внутри набора

stonepig
29.03.2017
08:07:04
мне для каждого теста перезапускать приложуху?

stonepig
29.03.2017
08:07:10
долго же

53r63rn4r
29.03.2017
08:07:13
def setUp() maybe?

Сергей
29.03.2017
08:07:37
старт-лого вижу раз в пару месяцев, некритично

Oleg
29.03.2017
08:07:43
О, а это крутая панелька. Она показывает иерархию в которой ты находишься

stonepig
29.03.2017
08:07:47

Dmitriy
29.03.2017
08:07:57

stonepig
29.03.2017
08:08:04
поясни

Сергей
29.03.2017
08:08:09
> @CanHelp
более того, по ней ходить можно)

Google

Dmitriy
29.03.2017
08:08:19
Чтобы они работали вне зависимости от порядка
При этом еще и были атомарны

53r63rn4r
29.03.2017
08:08:33
Ща

Dmitriy
29.03.2017
08:08:36
Т.е. одна задача - 1 тест

stonepig
29.03.2017
08:08:51
да я это понимаю
мне надо приложуху запустить для начала тогда где-то

Dmitriy
29.03.2017
08:09:04
Иначе это не тест, а просто скрпт, который "что-то там проверяетс"

stonepig
29.03.2017
08:09:11
и потом уже бегать по activities

Dmitriy
29.03.2017
08:09:39
Приложение также на джанге?

Admin
ERROR: S client not available

stonepig
29.03.2017
08:10:04
нет, на Джаве
это андроид

Dmitriy
29.03.2017
08:10:45
А зачем его нужно перезапускать?
Или не нужно, просто оно перезапускается само в рамках набора?

stonepig
29.03.2017
08:11:17
ну вот запускается приложуха, идет логин в приложение
объясни, как мне сделать остальные тесты независимые, если логин должен идти в любом случае при первом запуске
где это надо указать?

Dmitriy
29.03.2017
08:12:44
setUp(class) для одного набора

stonepig
29.03.2017
08:12:46
нашел self.driver.launch_app() окей, запускает приложуху, указал в def setUp()
тамже и указывать логин?

Google

Dmitriy
29.03.2017
08:13:44
Если переносишь эту логику из теста, то да
setUp - это часть предусловий
Ты можешь также наследовать кейсы

stonepig
29.03.2017
08:15:08
хуйня какая-то. оно всё равно перед каждым кейсом перезапускает приложуху

Dmitriy
29.03.2017
08:15:58
https://docs.python.org/3/library/unittest.html#class-and-module-fixtures
setupClass же
Там должны быть все тяжелые операции
Либо можешь использовать setUpModule
Если же неймется сделать порядок методов, то это делается очень просто. Просто посмотри в каком порядке выполняются тестметоды

Set
29.03.2017
08:22:51

Сергей
29.03.2017
08:24:05
фильтруй в get_queryset свой city
или че ты там фильтруешь

stonepig
29.03.2017
08:24:41

Сергей
29.03.2017
08:24:47
CityListView - это список городов

stonepig
29.03.2017
08:24:47
чот не врублюсь

Сергей
29.03.2017
08:25:35
и че у тебя city - когда это продукт
запутал всех тут

Dmitriy
29.03.2017
08:25:53

Сергей
29.03.2017
08:26:07
фильтруй там же свои продукты по категории, в чем проблема-то?

Dmitriy
29.03.2017
08:29:00
чот не врублюсь
Делаешь метод внутри TestCase с названием setUpClass, декорируешь его classmethod, внтури метода делаешь все операции предусловий, при этом используя сам класс (cls), а не объект (self). Все атрибуты класса потому будут доступны в объекте

stonepig
29.03.2017
08:35:40
Эта группа больше не существует