
andretshurotshka?❄️кде
01.09.2017
06:32:33
вроде нет

Gleb
01.09.2017
06:32:58
Я так понимаю без ленивости особой выгоды перед lodash тем же кроме изящности и того что все каррировано(хотя смысл в карированости без ленивости) и нет

Vadim
01.09.2017
06:33:31
Каррированность удобна для комбинирования функций
Как конструктор лего

Google

Gleb
01.09.2017
06:33:45
Ну оно понятно

andretshurotshka?❄️кде
01.09.2017
06:33:46
У тебя rx для ленивости)

Gleb
01.09.2017
06:33:53
ухх и не говори
пойду обмазываться тестами дальше
Как фронт вообще без rx то жил даже и незнаю
:D

Vadim
01.09.2017
06:34:50
Вообще сам автор рамда писал что рамда это просто удобный конструктор функций

Дмитрий
01.09.2017
06:39:43
Ещё бы придумать как сформулировать в типах то, что map в ней диспатчится в метод .map второго аргумента — было бы вообще супер

Vadim
01.09.2017
06:40:08
Через дженерики

Gleb
01.09.2017
06:43:38
@ZeroBias
А подскажи , на счет мока debounceTime например, чтобы делать его без задержки для тестов, это ведь ок?
или такой кейс например
const originalAjax = Observable.ajax;
afterEach(() => {
Observable.ajax = originalAjax;
});
И в тесте самом
Observable.ajax = jest.fn(() => Observable.of({response}));
Ну или там со spy я так понимаю ты так и делаешь
jest.spyOn(Observable.prototype, "ajax").implement(() => Observable.of({response})))

Дмитрий
01.09.2017
06:51:51
Я не Observable тестирую а свой код, в коде most сомневаться не приходится
spy используется в качестве функции которая непосредственно прокидывается в .observe и контролирует что ей передали и в какой очередности

Google

Gleb
01.09.2017
06:57:15

Maxim
01.09.2017
08:25:31
может кто-то подскажет репозиторий или статью с разобром HOC ов на стримах

Gleb
01.09.2017
08:32:55
хоки на стримах нука нука
покажи ты про что

Алексей
01.09.2017
09:21:41
why not https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md ?

Gleb
01.09.2017
09:22:40
Просто там не честные тесты в том плане что там тестировать можно незаморочено только один стрим, а если нужно протестировать как бы рутовый
то есть послал я action и далее подхватился он где а еще далее след где то подхватился итд
итого 10 -15 экшн будут выкинуты в некоторых местах
я даже не представляю что за диаграмма должна быть
a-b-c-d-e-f-g-h-...-z

Алексей
01.09.2017
09:36:18

Vadim
01.09.2017
09:36:31
Мне кажется ты сейчас уже не о юнит-тестировании, а об интеграционном.

Gleb
01.09.2017
09:38:32
Ну получается что да это интеграционный тест

Vadim
01.09.2017
09:39:16
Есть мнение, и я его часто слышу, что интеграционное тестирование вообще не нужно, если качественно обложены тестами все юниты

Gleb
01.09.2017
09:40:32
Ну вот кейс
1 - стрим делеит и фильтрует ввод с инпута
2- подхатывает заделеиные и фильтрованный
3- подхватывает запрос после этого
4-подхватывает прилоадер (экшн толстый и содержит в себевсякую мета инфу типа loders: [SOME_LOADER_KEY])
5-куча кейсов с обработкой ошибок
6 - кейсы на суксес
7- далее подхватывается нрмализация
и все это само собой множство тримов
я понимаю что это как бы совсем не юнит уже а интеграцонный тест, то потестить отдельно взятый стрим это было бы слишком легко, хотя отдельно взятый у меня каждый из них потестен естественно
Или вот как сейчас склоняюсь уже интеграционный на селениум оставить
а стримы каждый по одному тестить, тогда да марблес вкатывает отлично)


Vadim
01.09.2017
09:42:45
А в качестве интеграционного наверное стоит тестить уже на намного более высоком уровне. Например корректность работы всего приложения. И тестировать не стримы (что является кишками приложения), а то, что может видеть пользователь. Ну и отдачу-получение данных с бекенда

Gleb
01.09.2017
09:43:12
Вот вот мне так же сказали, уже селениумом бразуер щелкать

Google

Vadim
01.09.2017
09:43:39
Короче, интеграционное тестирование должно воспринимать твое приложение как черную коробку. Что там внутри оно не должно знать.
Для js есть нормальная штука - nightwatch.js
Но я им пользовался год назад. Может сейчас что получше есть

Denis
01.09.2017
09:45:52
Стримы не тестить надо, а понимать

Vadim
01.09.2017
09:46:57
Но…. интеграционные тесты это такое муторное (много писать и часто менять) дело, что этим должны заниматься не разработчики, а тестеры. Их реально в разы сложнее поддерживать чем юнит-тесты

Gleb
01.09.2017
09:48:24
Спасибо ра зазъяснения!)))

Vadim
01.09.2017
09:48:37
В свое время я добавил в свое резюме e2e-тестирование. Но на это вообще никто из работодателей не заострял внимание ) Слишком ресурсоемкое дело, что б сажать на него разработчика

Denis
01.09.2017
09:50:28
Напишите свой Rx без подглядеть пару раз и тестировать больше не захотите

Vadim
01.09.2017
09:51:42
Вот в этом выпуске ребята довольно хорошо на счет тестирования обсудили (для начинающих). http://apptractor.ru/info/media/podkast-podlodka-11-test-driven-development.html
Не обращай внимание что канал для мобильных разработчиков. Этот выпуск про тестирование как таковое.

Gleb
01.09.2017
09:52:43
Ну оно понятно , но на коверейдж понимание к сожалению не повлияет, понятно что оно важное самое, я сомневаюсь что я там близок к пониманию, хотя на генераторах бы воспроизвел несколько методов RX, и все равно от багов оно бы не спасло

Denis
01.09.2017
09:53:35
Расскажите окамлистам или хаскеллистам о тестировании, они скажут что это такое. Есть понятие тайп дривент девелопмент

Maxim
01.09.2017
11:43:07
function a<A?) {
type B = A<string>
}

Maxim
01.09.2017
11:43:29
это и есть high kinded type ?
как с этим в флоу ?

? animufag ?
01.09.2017
11:47:49
Изи на фантомах решается
На самом деле из примера непонятно что ты собираешься сделать

Denis
01.09.2017
11:52:30
Как же это смешно
Все эти потуги хкт делать

Maxim
01.09.2017
11:58:56
TS - уже для многих прорыв

Google

Сергей
01.09.2017
12:51:52

illiatshurotshka❄️
01.09.2017
12:52:55
а как задавалась бы B?

Vadim
01.09.2017
12:59:30
B это возвращаемый тип?

Nikita
01.09.2017
14:24:22
https://reasonml.github.io/reason-react/blog.html#reducers-are-here

Дмитрий
01.09.2017
14:50:48

Maxim
01.09.2017
14:51:57

Admin
ERROR: S client not available

Maxim
01.09.2017
14:52:16
и не простого типа, а пыталася изобразить дженерик дженерика

Дмитрий
01.09.2017
14:52:51
Это фантомный тип как он есть

Maxim
01.09.2017
14:53:31
Просто при композиции часто класс/функция обрастают 4-5 дженерик-параметрами - и код сложно понимать

Дмитрий
01.09.2017
14:55:59
Тспроблемы

Denis
01.09.2017
14:57:44
Жс тс флоу проблемы

Maxim
01.09.2017
15:05:04
пытаюсь настроить флоу
веб шторм не делает автокомплит, какая ИДЕ лучше всего дружит с флоу ?
либо неправильно приготовил шторм
ТС вообще везде из коробки поддерживается )

Дмитрий
01.09.2017
15:06:54
Ставится в пол пинка

Google

Maxim
01.09.2017
15:07:06
я на винде
уфх

Дмитрий
01.09.2017
15:07:28
Но я всё равно хочу обратно на вс код(

Maxim
01.09.2017
15:08:21
ок, посмотрел на флоу-тайпед - бедно-бедно, в d.ts уже к любой либе за 1к звёзд есть

Denis
01.09.2017
15:10:45
nuclide
Такая же хуйня как и атом медленный

Maxim
01.09.2017
15:11:27
на разруливание типов уходит половина времени

Denis
01.09.2017
15:12:08
Тайп дривент девелопмент
На тестирование не тратится потом время

Maxim
01.09.2017
15:12:32
новый мем ? я не в теме

Denis
01.09.2017
15:13:03
Что за мем?

Maxim
01.09.2017
15:13:22

Denis
01.09.2017
15:13:56
Нет, это правильный подход со всеми изоморфизмами в логике

Дмитрий
01.09.2017
15:14:38

Denis
01.09.2017
15:15:39
Я ща на вс коде с материал темой) збс

Steve
01.09.2017
15:16:10
Привет
С чего начинать изучение RP и какие петы можно запилить?

Denis
01.09.2017
15:16:22
?
С картинки в твоём букваре

Maxim
01.09.2017
15:17:09
меня взбесил тот факт что тс не инферит даже баттон из material-ui@next обёрнутый в стейтлес компонент
const MyButton => <Mui.Button />