@nodejs_ru

Страница 1210 из 2748
arts
02.10.2017
14:43:28
Алсо, есть tsc-watch

Oleg
02.10.2017
14:44:11
опа

ща гляну

спасибо

Google
Mikhail
02.10.2017
14:45:31
Привет всем. Я пишу тесты с помощью mocha и chai. Хочу протестировать функцию для работы с rss. Она принимает на вход url, а возвращает массив из 25 объектов. Не совсем понимаю, что писать тут: expect(rss(uri)).to.equal(???); Мне надо предварительно создать этот массив из 25 объектов? Я уж молчу про то, что он будет постоянно меняться. И мне при каждом запуске теста надо его обновлять? Или я что-то не так делаю?

ну даааа, но TS по-другому не прикрутить
Не знаю, что конкретно вам надо, но нода с ts дружится за три строчки: tsc init npm init npm i @types/node -D Или у вас что-то другое?

KlonD90
02.10.2017
14:47:50
Ну тебе нужно раздробить это по юнитам. Первый типа удостоверяется что ты делаешь запрос по этому урлу. Дальше стабаешь функцию достающую данные И можешь сравнить результат.

Mikhail
02.10.2017
14:55:02
Ну тебе нужно раздробить это по юнитам. Первый типа удостоверяется что ты делаешь запрос по этому урлу. Дальше стабаешь функцию достающую данные И можешь сравнить результат.
Но в итоге всё равно придётся создавать массив из объектов? Мне повезло, там всего 4 поля, но что бы я делал, если бы БД тестировал? Там же тысячи записей

KlonD90
02.10.2017
14:57:13
А что ты хочешь тестировать? Работу базы данных или свой код?

Mikhail
02.10.2017
15:00:37
А что ты хочешь тестировать? Работу базы данных или свой код?
Свой код. Но мне же всё равно надо проверить, правильно ли мой код делает запросы? Вообще это не так важно сейчас. Возвращаясь к моему предыдущему вопросу: мне надо создавать массив из 25 элементов?

KlonD90
02.10.2017
15:01:12
Да зачем. У тебя смысл именно в 25 элементах?

Oleg
02.10.2017
15:01:56
tsc -w
пишут deprecated

https://www.npmjs.com/package/ntypescript Вот такая либа вместо него

а не, он тоже мертв

Google
Oleg
02.10.2017
15:04:03
https://github.com/basarat/byots

Mikhail
02.10.2017
15:04:34
Да зачем. У тебя смысл именно в 25 элементах?
Какие-то философские вопросы. Вообще смысл в том, чтобы проверить, что при запросе на указанный url мне прилетает массив объектов с определёнными полями. Количество и содержимое не так важно

пишут deprecated
Странно Можно ссылку? Я использовал  tsc -w. Всё нормально было

Konstantin
02.10.2017
15:10:36
Когда тестируется функционал конкретной функции, то это называется юнит-тест. Для юнит тестов создается фиктивное окружение, которое эмулирует «идеальные» или, наоборот, «неидеальные» условия, в которых функция может быть использована. Т.е. делать в этом случае реальный запрос к реальной БД смысла нет, ведь данные не важны. Создается тестовый набор данных (фикстуры, fixtures), которые «скармливаются» тестируемой функции и уже после выполнения функции, проверяется её вывод. const rss = <ТЕЛО АСИНХРОННОЙ ФУНКЦИИ>; ... // Где-то в тестах const result = rss(url); expect(result).to.be.instanceof(Promise); result.then((data) => { expect(data).to.be.an('array'); expect(data).to.have.length(25); });

Mikhail
02.10.2017
15:12:35
https://www.npmjs.com/package/tsc
Да нет же. Устанавливаете typescript и набираете в консоли tsc -w потом

Oleg
02.10.2017
15:13:54
Да нет же. Устанавливаете typescript и набираете в консоли tsc -w потом
Оно у меня падает в с огромным числом ошибок

typings/globals/core-js/index.d.ts(18,43): error TS1005: ';' expected. typings/globals/core-js/index.d.ts(27,27): error TS1005: ',' expected.

Vania
02.10.2017
15:15:42
Меня не забанят за вопросы по (компьютерным сетям/nginx)?

Nurlan
02.10.2017
15:26:19
Канагаттандырылмагандыктарыныздан - это же на казахском "Есть закурить"?
если вы про самое длинное слово на казахском, то вот вам обновление: модернизацияландырылмағантықтарыңыздан смысловой перевод: по причине того, что вы не прошли модернизацию политический привет вам : )

Oleg
02.10.2017
15:26:57
А что в консоль вводите предварительно?
Всё, заработало) "start": "npm run tsc-watch | npm run nodemon", "tsc-watch": "tsc -w", "nodemon": "nodemon ./build/bin/www.js localhost 3000"

Mikhail
02.10.2017
15:36:28
Всё, заработало) "start": "npm run tsc-watch | npm run nodemon", "tsc-watch": "tsc -w", "nodemon": "nodemon ./build/bin/www.js localhost 3000"
Я на локалке вообще вручную делал tsc -w и nodemon main.js. Но хорошо, что работает

Oleg
02.10.2017
15:37:12
Artyom
02.10.2017
15:55:28


Почему catch не срабатывает?

Konstantin
02.10.2017
15:57:45
await перед вызовом функции поставить надо

Artyom
02.10.2017
15:58:31
Спасибо!

Google
Konstantin
02.10.2017
15:58:34
const D3Available = await checkD3()

Artyom
02.10.2017
15:58:48
Ага, заработало

Понять бы еще это...

Dreamerinnoise
02.10.2017
17:50:06
Привет, кто с jade/pug работал? Как обойти невозможность динамических иклюдов? script("type/javascript) include #{BRAND_NAME}/api.js Так не иклюдит. Кто как обходил это?

Yaroslav
02.10.2017
17:52:43
Привет, кто с jade/pug работал? Как обойти невозможность динамических иклюдов? script("type/javascript) include #{BRAND_NAME}/api.js Так не иклюдит. Кто как обходил это?
Pug не поддерживает динамический include, можете использовать case / if или определять файл для рендера на сервере.

Dreamerinnoise
02.10.2017
17:53:39
таких моментов в шаблоне больше одного. Но мысль я понял.

Artyom
02.10.2017
18:57:04


bot.sendMessage возвращает промис

Morsik
02.10.2017
18:58:02
ты юзаешь await внутри не async функции

у тебя лямбда в фориче не асинк

Artyom
02.10.2017
18:58:35
Прикольно

Подправил

Заработало) Спасибо

Morsik
02.10.2017
19:00:07
а еще у тебя sendUpdateStatus вернет промис, который зарезолвится до того как бот пошлет сообщения

Artyom
02.10.2017
19:00:42
Это не важно

Я до этого думал, что создание асинк функции возвращает промис

Я ошибался

Morsik
02.10.2017
19:01:42
ну, когда словишь unhandled promise rejection, почувствуешь что сделал не так

Artyom
02.10.2017
19:02:00
Ага, было такое(

А что делать?

Google
Morsik
02.10.2017
19:03:14
return Promise.all(userList).map(user=> <sending message>)

(если у тебя блюбирд)

Artyom
02.10.2017
19:03:35
Не, просто нода новая

А есть что-нибудь, что собирает console.log в ноде и в файл пишеТ?

Fedir
02.10.2017
19:21:42
bash

program > file.txt

Artyom
02.10.2017
19:21:55
грусть

Fedir
02.10.2017
19:22:08
это из действительно очевидных вещей

Morsik
02.10.2017
19:22:08
npmjs.com > logger

Artyom
02.10.2017
19:37:31
Пока не нашел. У меня уже куча консоль логов написано. Конкретно вопрос, можно что-то подключить и в файл их писать?

Нашел https://stackoverflow.com/a/21061306/8438996

Morsik
02.10.2017
19:43:28
а ты любишь велосипеды, как я погляжу

Таймураз
02.10.2017
19:50:44
Нашел https://stackoverflow.com/a/21061306/8438996
Пиши логи с помощью pino

Artyom
02.10.2017
19:51:29
Да проблема в том, что все уже написано на консолях

А так спасибо

Morsik
02.10.2017
19:51:47
глобал реплейс

Таймураз
02.10.2017
19:52:56
Да проблема в том, что все уже написано на консолях
https://www.npmjs.com/package/rotating-file-stream А это чтобы в файл писать

Morsik
02.10.2017
19:53:32
всмысле везде использует console.*

Google
Таймураз
02.10.2017
19:53:57
Ctrl shift f console.log

Artyom
02.10.2017
19:54:12
ну да

Morsik
02.10.2017
19:54:26
или сразу ctrl-shift-r

Artyom
02.10.2017
19:54:28
Да мне бы побыстрее сделать =\

Таймураз
02.10.2017
19:54:44
или сразу ctrl-shift-r
Не, там рефакторить надо)

Morsik
02.10.2017
19:55:18
если слишком много - заколебешься же

Таймураз
02.10.2017
19:55:31
Morsik
02.10.2017
19:55:49
ну или как вариант как в стековерфлоу заоверрайдить console.log

Таймураз
02.10.2017
19:56:12
Morsik
02.10.2017
19:56:32
в качестве быстрого костыля сойдет

Таймураз
02.10.2017
19:56:59
в качестве быстрого костыля сойдет
Такие костыли надолго в проекте остаются

Morsik
02.10.2017
19:57:27
да, есть такое)

Евгений
02.10.2017
20:17:25
как доработать эту функцию чтоб при ее следующем вызову мелодия отключалась ?

function soundClick() { var audio = new Audio(); // Создаём новый элемент Audio audio.src = '111.mp3'; // Указываем путь к звуку "клика" audio.autoplay = true; // Автоматически запускаем } start.addEventListener("click", soundClick);

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

а то выходит мелодия на мелодию накладываеться

Таймураз
02.10.2017
20:35:36

Страница 1210 из 2748