@python_beginnersЭта группа больше не существует

Страница 1494 из 1885
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
Ну если у тебя та функция вызывается из кучи классов, то есть смысл либо запихнуть Ее в отельный файл, либо в базовый класс, для читаемости... а так - пофигу

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
Вызов конструктора родителя, всё ок. Действительно, прочитай про super.
Можно пожалуйста ссылочку. Просто не понимаю как гуглить super? Или вы имеете ввиду вот это http://pythonz.net/references/named/super/ ?

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
def setUp() maybe?
ну дык там есть же

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
setupClass же
а что он должен наследовать?

Сергей
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
а что он должен наследовать?
Ничего, он должен быть внутри testcase

Сергей
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


Страница 1494 из 1885

Эта группа больше не существует Эта группа больше не существует