
Ilya
29.08.2017
18:51:56
гм, забавно
спасибо

Nikita
29.08.2017
18:52:01
Чем вам кластер не нравится

Maksim
29.08.2017
18:52:56

Google

Alexander
29.08.2017
21:05:41
Всех приветствую. Есть вопрос по sinon. Использую react+sinon+enzyme+expect.
Собственно, весь вопрос описал на SO: https://stackoverflow.com/questions/45947032/sinon-spy-how-to-check-if-method-is-called
Буду благодарен за помощь и здесь, и на SO. На SO с удовольствием поставлю плюсы.
Если по-русски коротко, то получаю ошибку Error: The "actual" argument in expect(actual).toHaveBeenCalled() must be a spy, и, что ни делаю, не получается от нее избавиться.
Судя по всему, нак-то неправильно объявляю "шпиона", но в чем именно ошибка, непонятно.

Jake
30.08.2017
03:30:05
Привет парни обьясните вот вот етод код плииииз
export default Container.createFunctional(AppView, getStores, getState);
я понял что он создает какую то обертку и отправляет его во view но блять как
хоть он и экспортируется , я его не импортировал во view обьясните плиииз

Petr
30.08.2017
05:55:04

Artyom
30.08.2017
07:01:43
spectrum.chat, гиттер, слак, телеграмм, еще куча, наверное...
В принципе удобно сидеть тут, тем более это, вроде бы, самое большое собрание русскоговорящих поклонников React. Но какие есть еще альтернативы, кто где сидит и ему там нравится?

Илья
30.08.2017
07:08:37
надо признать, что с слак с тредами был бы куда удобнее

Vladyslav
30.08.2017
07:45:03
ребята всем привет, а как красиво и правильно чекать, что в пропсы пришел не пустой массив ? просто потом я рендерю из этого массива список и если он пустой то вываливается креш приложения
ну точнее что вообще что-то пришло в пропсы

Andrey
30.08.2017
07:46:21

? ethorz
30.08.2017
07:46:23

Google

Vladyslav
30.08.2017
07:46:35
проптайпсы есть
ага

? ethorz
30.08.2017
07:46:52
покажи как рендеришь список
pastebin

Vladyslav
30.08.2017
07:47:58
https://jsbin.com/jezofeneri/1/edit?js,output

? ethorz
30.08.2017
07:48:53
{!isEditableCost && optionalAdditionServices.length > 0 &&
optionalAdditionServices.map((service, index) => {
return (

Vladyslav
30.08.2017
07:49:42
понял, так и сделал, спасибо❤️

? ethorz
30.08.2017
07:49:56
не за что

Roman
30.08.2017
07:59:44

? ethorz
30.08.2017
08:00:20
код не мой)

Denis
30.08.2017
08:01:57
Мап на пустом массиве вернёт пустой массив зачем чекать длину ?

Vladyslav
30.08.2017
08:02:33
не, там жеж undefined а не пустой

? ethorz
30.08.2017
08:02:46
дак сделай defaultProps
и не нужно будет проверок

Vladyslav
30.08.2017
08:03:13
но он получается отрендерит пустую лишку ?
а так вобоще в тот блок не зайдет

? ethorz
30.08.2017
08:03:38
что отрендерит?
не отрендерит
Component.defaultProps = {array: []};
и если придет undefined - у тебя есть дефолтные пропсы

Google

? ethorz
30.08.2017
08:04:23
и там будет пустой массив
проверку на длину можно удалить

Vladyslav
30.08.2017
08:05:06
понял
уже спрашивла сто раз, но никто не ответил)) а какая логика тестирования редакс-форм должна быть ?
отдельно потестить стор, редюсеры,экшены,рендер элементов ?
никогда не писла тесты к куче форм

Bogdan
30.08.2017
08:58:16
храню в стейте инфу, которая используется для будущих взаимодействий с пользователем, но на рендер никак не влияет. Как запретить ререндре, если в стейте изменилось только это свойство? Или сам подход неправильный?

Maksim
30.08.2017
08:59:17
но если очень хочется, то https://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate

Andrey
30.08.2017
09:01:15

Nikita
30.08.2017
09:02:36
Неожиданно
Ты видимо не работал с большими проектами?)

Andrey
30.08.2017
09:03:48
Я?

Nikita
30.08.2017
09:04:36
Да

Fedor
30.08.2017
09:04:41

Admin
ERROR: S client not available

Fedor
30.08.2017
09:04:58
никогда не знаешь, когда прийдет кто-нибудь и все сломает одной опечаткой

Егор
30.08.2017
09:05:00
Что такое гринвей?

Andrey
30.08.2017
09:05:06
Да
Т.е. ты предлагаешь писать тесты ради тестов?

Google

Fedor
30.08.2017
09:05:46
Что такое гринвей?
правильная работа приложения. Типа, что если пользователь ввел правильные данные и нажал правильные кнопки, то все сработало нормально

Nikita
30.08.2017
09:05:53
Тесты - гарантия того, что твой код работает +-

Егор
30.08.2017
09:06:05
Имхо, зависит от проекта. В проекте со сложной бизнес-логикой вероятно имеет смысл написать на редьюсеры и middlewares. А если речь идет о сайте для клиентов компании, например - где критично что бы все работало без багов. Там уже можно компоненты тестировать. Если же есть необходимость оптимизации - тестировать, что компоненты лишний раз не перерендериваются. И тогдалее.

Fedor
30.08.2017
09:06:05
не пытаясь описать все возможные баги и косяки со стороны пользователя

Nikita
30.08.2017
09:06:07
До 100 доводить ессенно не надо

Егор
30.08.2017
09:06:36
В общем, исходить из задачи и потенциальных проблем.

Nikita
30.08.2017
09:06:50
Но без тестов ты не можешь быть уверен, что другой разраб не сломает что то

Егор
30.08.2017
09:06:52
Наиболее вероятных и критичных

Nikita
30.08.2017
09:07:01
Особенно бизнес логику

Artyom
30.08.2017
09:07:40
Так это. Кто поделится, как flow в шторме настроить, что бы он подсказывал ошибки в реалтайме и при этом не тормозил на i5-6400?

Егор
30.08.2017
09:07:50

Evjeni
30.08.2017
09:08:01

Fedor
30.08.2017
09:08:48
что бы не рвать волосы на жопе после каждого деплоя

Егор
30.08.2017
09:10:49
Самое забавное, что так и не пришлось работать до сих пор в команде, где бы был код достаточно покрыт тестами.. Сейчас вот первый опыт будет. Почему-то на них все равно до сих пор болт кладует. Ну если не касаться разработки клиентских сервисов в реально серьезных IT-компаниях.
Хотя это мой опыт, может ошибаюсь.

Fedor
30.08.2017
09:13:14
Не, на самом деле с тестами проблема
я сейчас очень часто сталкиваюсь с тем, что надо что-то отрефакторить, но перед этим покрыть тестами
что бы не сломать то, что работает

Nikita
30.08.2017
09:14:44
Да

Google

Nikita
30.08.2017
09:14:59
Без тестов рефакторить очень стремно
Особенно если рефакторишь то, что приносит заказчику бабло