Как стать автором
Обновить

Комментарии 12

НЛО прилетело и опубликовало эту надпись здесь
Так у Тинькова же есть приложение, оно вполне нормально работает
Ну, я бы не сказал, часто висит на сплешскрине, долго грузит весь контент, зато в первую очередь загрузит сториз дебильные

На правах бессмысленно и беспощадной саморекламы:


Мы, кстати, оценивали сколько будет стоит разработка крайне легковесного, но функционального PWA приложения для интернет-банка на связке $mol + hyperhive под ключ.


Командой из разработчика, дизайнера и тестировщика выходило всего 3 ляма за пол года.


Набор фич примерно такой: экран входа, список счетов, история транзакций, статистика транзакций, каталог платежей, перевод средств, лента новостей, открытие вклада, управление счетами, управление личными данными, карта филиалов, чат, обмен валют, настройки безопасности.

Откуда Angular ведь у вас был React?
Продукты для бизнеса у нас разрабатываются на Angular.
По сравнению с банк-клиентами других банков у Тинькова просто пуля, одно то, что ввод смс кода не требует нажатия кнопки каждый раз радует )
Друзья, а что насчет автоматизации написания тестов, хотя бы частичной? Регулярно замечаю, что в тестах всегда пишу довольно однообразные вещи, при этом трачу кучу времени на то, чтобы гуглить, как inject'нуть сервис, как протестировать компонент в компоненте, как протестировать http-сервис, как mock-нуть роутер и пр. Вся команда на написание тестов тратит кучу времени.

Сталкивались ли вы с интрументами, облегчающими написание тестов? Может быть, генератор типовых test-suite'ов, может какие-нить плагины к vscode или webstorm?
Наверное, не совсем в кассу, но пример из бэкенда — свой нынешний проект я стал делать с использованием generator-rest-api https://github.com/diegohaz/rest.

Вкратце, что это такое: в самом начале проекта, когда только создал папочку или репозиторий, заходишь в эту папочку и делаешь:
npm install -g yo generator-rest
yo rest

Дальше он спросит название проекта, структуру папок, базовые вещи типа тех, какую авторизацию нужно поддерживать. Когда он закончит работу, то будет готова структура директорий с готовыми тестами и готовыми моделями типа users и тех, что сам выберешь при создании.

src/
├─ api/
│ ├─ user/
│ │ ├─ controller.js
│ │ ├─ index.js
│ │ ├─ index.test.js
│ │ ├─ model.js
│ │ └─ model.test.js
│ └─ index.js
├─ services/
│ ├─ express/
│ ├─ facebook/
│ ├─ mongoose/
│ ├─ passport/
│ ├─ sendgrid/
│ └─ your-service/
├─ app.js
├─ config.js
└─ index.js


А добавление новых эндпоинтов поддерживается командой
yo rest:api

Кроме того, что разработка упростилась в десятки раз из-за того, что уже готов «wireframe», там уже есть шаблоны тестов. К тому же, этот генератор еще и поддерживает создание новых эндпоинтов через свой интерфейс, и сам для них делает код и тесты.

Мне даже стало жаль, что я не видел таких вещей для iOS или для фронт-енда. Это не то же самое, что фреймворк, потому что во внутренности фреймворка не будешь лезть для конфигурации, тут важно, что он генерирует именно код, который иначе ты бы писал. А мне с довольно небольшим опытом бэкенда еще и в плюс, что он создал логичную архитектуру.
для ангуляра есть ng-cli, он тоже делает шаблончики, но это же должен быть лишь первый шаг! Вот есть у меня тест сервиса, а тут я в этот сервис сделал инъекцию Http. Мне хочется, чтобы, например, IDE перегенерировала тест, сделав туда инъекцию HttpMock.
Попробуйте ts-mockito для мокирования сервисов.

Такое нереальное количество времени на запуск модульных тестов требуется только тогда, когда все разработчики все поведение раскладывают именно в Angular компоненты. Поэтому сокращение количества времени на выполнение модульных тестов обычно дает банальное разделение ответственности, упоминающееся в SOLID. Все поведение, не использующее ничего из пространства имен angular, реализуем в отдельных классах, которые затем используем уже собственно в компонентах. При таком раскладе необязательно и в броузерах тесты запускать вовсе. А компоненты являются просто фасадами и адаптерами для низлежащего, уже протестированного поведения.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий