Size: a a a

2020 July 06

BO

Boris Osipov in JS for testing
Alexei Vinogradov
ну забавно, что read-only объект меняется. 🙂 Почему меняется - понятно. Но просто с опытом в более строгих языках это кажется дичью.
посмотри в какой жс оно компилится...
источник

D

Denis in JS for testing
Котаны, короткий вопрос по Cypress. Я заподозрил, что он проставляет переменную NODE_ENV в "test".

Если действительно проставляет, то как отключить? Или изменить на development?
источник

AV

Alexei Vinogradov in JS for testing
есть @cypress_ru1 если что)
источник

AV

Alexei Vinogradov in JS for testing
Boris Osipov
тебе копию в любом случае делать
ну похоже, что неожиданно, но готовая библиотека - не самое плохое решение.
источник

BO

Boris Osipov in JS for testing
да, если тебе подходит лучше не пилить это руками)
источник

BO

Boris Osipov in JS for testing
Denis
Котаны, короткий вопрос по Cypress. Я заподозрил, что он проставляет переменную NODE_ENV в "test".

Если действительно проставляет, то как отключить? Или изменить на development?
кажется если сделать как доке написано что-то получится https://docs.cypress.io/api/cypress-api/env.html#Name-and-Value
источник

D

Denis in JS for testing
Хм, это не чисто cypress переменные? Спасибо, попробую
источник

AV

Alexei Vinogradov in JS for testing
Boris Osipov
да, если тебе подходит лучше не пилить это руками)
тут получился практически учебный пример, почему "запили себе сам фреймворк" на рабочем проекте - опасная идея. На первый взгляд работает - но тонкости могут всплыть гораздо позже. А выбрасывать уже жалко и придётся допиливать до победного. Тут хотя бы "на пару строчек" - функция вышла, а при больших велосипедах риски сразу геометрически растут.
источник

BO

Boris Osipov in JS for testing
Alexei Vinogradov
тут получился практически учебный пример, почему "запили себе сам фреймворк" на рабочем проекте - опасная идея. На первый взгляд работает - но тонкости могут всплыть гораздо позже. А выбрасывать уже жалко и придётся допиливать до победного. Тут хотя бы "на пару строчек" - функция вышла, а при больших велосипедах риски сразу геометрически растут.
ну фигня в том что я тебе даю совет json.parse(json.stringify()) по тому примеру что ты дал. на деле так делать не стоит а большинстве случаев лучше взять готовый deepClone() из любой любимой библиотеки(привет lodash, underscore,etc)
источник

BO

Boris Osipov in JS for testing
да и в твоем кейсе хватит json.parse(json.stringify()). ну “удаляет в undefined ключи” оно тебе критично? скорее нет чем да
источник

BO

Boris Osipov in JS for testing
да и вообще не надо даже deepCopy()
источник

BO

Boris Osipov in JS for testing
function newState(): State  {
   return {
       offer: {
           vsu: 38000,
....
       }
   }
}

let writableTest = newState() as DeepWriteable<State>;
writableTest.baz.baz = "test"
источник

BO

Boris Osipov in JS for testing
вот тебе каждый раз новый объект. dependency free реализация
источник

AV

Alexei Vinogradov in JS for testing
да, пожалуй это тоже рабочий вариант.
источник

AV

Alexei Vinogradov in JS for testing
undefined скорее критично, там есть на них тесты
источник

АА

Александр Александр... in JS for testing
Как на протракторе сделать скрины в случае падения тестов не видимой области, а всей страницы, Плис хэлп, не то чтобы мне это критично, я скроллю до элемента каждый раз, но хотелось бы
источник

AP

Alexander Popov in JS for testing
Александр Александр
Как на протракторе сделать скрины в случае падения тестов не видимой области, а всей страницы, Плис хэлп, не то чтобы мне это критично, я скроллю до элемента каждый раз, но хотелось бы
сделал - проскроллил вьюпорт - сделал - проскроллил вьюпорпт - .... - склеил
источник

AP

Alexander Popov in JS for testing
или поставил селенид и browser.screenshot()
источник

AV

Alexei Vinogradov in JS for testing
Александр Александр
Как на протракторе сделать скрины в случае падения тестов не видимой области, а всей страницы, Плис хэлп, не то чтобы мне это критично, я скроллю до элемента каждый раз, но хотелось бы
или firefox) там всей страницы делает
источник

B

Bola in JS for testing
Alexander Popov
или поставил селенид и browser.screenshot()
Или посмотрел, как работает селенид
источник