170 похожих чатов

Привет! Никто не подскажет как сделать TestCase абстрактным? у меня 2 класса

тестекейсов, подобны на 90%

общие методы вынес в отдельный класс и теперь мучаюсь с тем, чтобы в базовом родительском классе не запускались тесты

9 ответов

7 просмотров

напиши mixin

Alex-Dem Автор вопроса

Я это и попытался сделать :) Ключевой вопрос заключается в том, чтобы объявлять методы в базовом классе вида test_{...} и не запускать их. Если делать честный миксин, то есть без наследования TestCase, то IDE выдает (что вполне логично) массу ошибок в коде Тут бы волшебный атрибут-флажочек где-нибудь, abstract=True, но я такого не нашел

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

Alex-Dem Автор вопроса

Потому, что есть две вьюхи, работают по-разному, но в целом делают одно и тоже Поэтому их методы тестирования очень схожи, отличаются только типы данных, сериализаторы с которыми они работают, и еще пара мелочей Поэтому получается, что есть 2 тест-класса, схожи на 90%; Различия вывел в отдельные красивые методы, получилось все хорошо, проблема одна - методы вызываются не только в наследниках, но и в родительском классе, и в родительском классе громко падают, так как он чуть-чуть не самостоятелен

мейби методы не называть тест которые не хочешь вызывать)

Alex-Dem Автор вопроса

ну так весь смысл в том, чтобы они были вызваны в наследниках: (пример) test_permissions test_get_not_allowed test_login_required и т.д.

Alex-Dem Автор вопроса

перенеси мой вопрос в плоскость Abstract model и очень быстро поймешь мою проблему, я думаю

ну думаю с нуля нужно было тесты по другому прописывать) если не хочется переписывать я бы на паренты все перенес и удалил бы childs

Alex-Dem Автор вопроса

"ну думаю с нуля нужно было тесты по другому прописывать)" это абстрактное рассуждение или имеющее под собой какую-нибудь логическую основу? "если не хочется переписывать я бы на паренты все перенес и удалил бы childs" в родителе можно заскипать, но так мне тоже не нравится :-/

Похожие вопросы

Обсуждают сегодня

кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
39
Вопрос по организации кода. Пилю свой велосипед логгер Есть у меня множество уровней сообщений. Я набрасываю сообщения в стринглист, а когда они нужны, вызываю их через функц...
Serjone
21
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
18
Has anyone experienced Sign in with Apple (with Firebase Authentication) does not provide name or email of the user even when requested with "email" and "fullName" scopes? He...
Sree (𝓣𝓪𝔂𝓵𝓸𝓻'𝓼 𝓥𝓮𝓻𝓼𝓲𝓸𝓷) 🦉 🦉
12
Диски перестали работать почему-то в Нидерландах тогда. 0кб в сек Никто как я понял не сможет посоветовать vds в Нидерландах ?
Stargrapefruit
11
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Куда написать чтобы их Роскомнадзор ебнул как мтс за повышение тарифов?
Stargrapefruit
10
Ну например jcl/jvcl Они базовые общие ifdef'ы в сабмодуль выгрузили. С svn было проще. В принципе, если проекты вообще не зависят друг от друга - то нормально, но тогда заче...
Arioch The
10
господа, может быть кто-то знает, как снять различные ограничения хрома в электроне? я уже за+бался ловить непонятные ошибки. у меня скрипт, который загружает и выгружает фото...
1788-L
6
Карта сайта