Size: a a a

JavaScript — русскоговорящее сообщество

2020 March 31

АО

Алексей Овсянников in JavaScript — русскоговорящее сообщество
(само собой, я так не делаю)
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
Как же круто написано:
https://habr.com/ru/company/mailru/blog/494110/
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
вместо выковыривания тестовых данных из носа - исследуем функции в коде на предмет свойств, которыми они обладают, и тестируем эти свойства
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
я смотрю, одним таким property-based тестом можно покрыть ну просто миллионы тестовых случаев. Кто юзал?
источник

B

Baxxter in JavaScript — русскоговорящее сообщество
Yuri Katkov
вместо выковыривания тестовых данных из носа - исследуем функции в коде на предмет свойств, которыми они обладают, и тестируем эти свойства
бред какой то. во первых на какие то более сложные тесты кроме a+b усложняется генерация данных - тест становится сложнее реализации. во вторых сама по себе случайная генерация делает тест недетерминированным, а следовательно не гарантированным(сейчас работает, завтра падает)
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
дык радуйся, что упало - багу нашел
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
Yuri Katkov
вместо выковыривания тестовых данных из носа - исследуем функции в коде на предмет свойств, которыми они обладают, и тестируем эти свойства
ну, хотя тут не вместо, а вместе
источник

B

Baxxter in JavaScript — русскоговорящее сообщество
Yuri Katkov
дык радуйся, что упало - багу нашел
допустим я фронт, и не могу смержить код, потому что внезапно падает тест в коде бэка(хотя я его не трогал) в моей ветке из за смещения фаз луны. нет, спасибо.
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
делегировать на родителя
источник

АО

Алексей Овсянников in JavaScript — русскоговорящее сообщество
Yuri Katkov
дык радуйся, что упало - багу нашел
не нашел - воспроизвести-то не выйдет, если не менять код теста
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Алексей Овсянников
не нашел - воспроизвести-то не выйдет, если не менять код теста
а в чем проблема воспроизвести?
источник

АО

Алексей Овсянников in JavaScript — русскоговорящее сообщество
Anton Permyakov
а в чем проблема воспроизвести?
ну если там рандом, то (доброе утро) - у вас в тесте другое окружение во время теста будет
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Алексей Овсянников
ну если там рандом, то (доброе утро) - у вас в тесте другое окружение во время теста будет
рандом рандомом, но, когда тест падает, то данные, на которых он упал, доступны и воспроизводимы
источник

АО

Алексей Овсянников in JavaScript — русскоговорящее сообщество
Алексей Овсянников
не нашел - воспроизвести-то не выйдет, если не менять код теста
я это тут оговорил^
источник

АО

Алексей Овсянников in JavaScript — русскоговорящее сообщество
если не менять тест - он так и будет выдавать рандом
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
так и пусть выдает, баг-то уже найдет и залогирован, пусть другие ищет
источник

NB

Not Dan, But... in JavaScript — русскоговорящее сообщество
Посоны, у меня очень странный и тупой вопрос о_О
Я хочу пройтись по Object.entries некоего объекта и менять его entry[1] (то бишь value) внутри этого цикла
forEach не изменяет значения этого объекта, что делать? обычный for? хочу в функциональном стиле
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Not Dan, But...
Посоны, у меня очень странный и тупой вопрос о_О
Я хочу пройтись по Object.entries некоего объекта и менять его entry[1] (то бишь value) внутри этого цикла
forEach не изменяет значения этого объекта, что делать? обычный for? хочу в функциональном стиле
map
источник

KL

Kirill Lesohorskyi in JavaScript — русскоговорящее сообщество
Not Dan, But...
Посоны, у меня очень странный и тупой вопрос о_О
Я хочу пройтись по Object.entries некоего объекта и менять его entry[1] (то бишь value) внутри этого цикла
forEach не изменяет значения этого объекта, что делать? обычный for? хочу в функциональном стиле
библиотеки типа lodash/ramda могут делать map по объекту. Самому это можно написать как-то так
const mapObject = f => obj => Object.entries(obj)
.reduce((acc, [key, value]) => {
   acc[key] = f(value);
   return acc;
 },{})

Ну и можешь заменить reduce на for, не важно что будет под капотом
источник

NB

Not Dan, But... in JavaScript — русскоговорящее сообщество
но map только лишь вернёт новый массив, а не объект
покопался в доке и нашел Object.fromEntries(), которому как раз таки можно скормить результат Object.entries().map(…….)
спасибо!
источник