169 похожих чатов

Привет! чтото я понять не могу... в 29 jest стали

появляться фантомные попадалки )


ну как фантомные... все тесты красные с beforeEach...

если же создать один IT и туда вынести все что твориться в describe и вынести этот IT выше describe... то весь тест зеленый...

WTF?

31 ответов

69 просмотров
🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса

нашел, что TestBed.inject(WINDOW) из мока не выдает данные... если IT запустить отдельно всегда ЗЕЛЕНЫЙ... в describe всегда красный....

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса

вынес в beforeAll(() => { windowToken = TestBed.inject(WINDOW); }); теперь нормально все.....

🎋🎋🥷 ngxSamurai 🏯🎋🎋
вынес в beforeAll(() => { windowToken = Tes...

вообще плохо работать с одним инстансом во всех тестах это может привести к неожиданным результатам

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
Sergei Vakhrushev
вообще плохо работать с одним инстансом во всех те...

ну до этого было в beforeEach и проблем не замечалось но после того как с jest@27 перешел на jest@29 у меня все сломано,,,, гдето 90% тестов слегли сразу

🎋🎋🥷 ngxSamurai 🏯🎋🎋
ну до этого было в beforeEach и проблем не замечал...

не понятно где и как вы провайдите WINDOW, по идее windowToken должен быть undefined, тк beforeAll срабатывает до создания модуля для тестов

я бы сервис провайдил тоже, и доставал через testBed в каждом it pros: ты можешь поменять в сервисе местами инжектебл, или вообще переписать на inject fn, тест не надо трогать cons: чуть больше кода

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса

не... мне нужен такой садомазо подход) мне бы побыстрее сдать задачу)

🎋🎋🥷 ngxSamurai 🏯🎋🎋
не... мне нужен такой садомазо подход) мне бы побы...

а потом как техдолг пойдет, хитро, без работы не останешься : D

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
Roman V
а потом как техдолг пойдет, хитро, без работы не о...

его и так много... поэтому и делаем миграции на 15ю ангу сначала.. потом все остальное в течении 2024 будет планироваться

🎋🎋🥷 ngxSamurai 🏯🎋🎋
его и так много... поэтому и делаем миграции на 15...

ну.. когда прибьют инжектебл в конструкторе, у вас тесты посыпятся

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
Roman V
ну.. когда прибьют инжектебл в конструкторе, у вас...

ну скорее всего замутят схематики миграционные на этот случай ) у нас уже 10к+ тестов )

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
Roman V
ну.. когда прибьют инжектебл в конструкторе, у вас...

теперь и это отвалилось почти везде... замена на beforeEach решает сразу проблему.... да что же это такое с jest 🤬 🤬 🤬 🤬 🤬 Test Suites: 10 passed, 10 total Tests: 136 passed, 136 total Snapshots: 0 total Time: 5.36 s, estimated 7 s Ran all test suites. ✨ Done in 7.05s. ???????????? как так??????

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
🎋🎋🥷 ngxSamurai 🏯🎋🎋
у нас стоит такой враппер https://stackoverflow.co...

а нахера в beforeAll тестовый модуль создавать? тесты должны быть изолированные

🎋🎋🥷 ngxSamurai 🏯🎋🎋
у нас стоит такой враппер https://stackoverflow.co...

а то что вы завязываесь на один модуль для всех тестов - это ваша проблема

🎋🎋🥷 ngxSamurai 🏯🎋🎋
не... мне нужен такой садомазо подход) мне бы побы...

так вы так или иначе из модуля вытягиваете что нибудь, в данном случае это WINDOW чтобы его в сервис прокинуть, плюс еще непонятно что за false передаете. Уж лучше сервис вытащить из TestBed

🎋🎋🥷 ngxSamurai 🏯🎋🎋
beforeAll

нельзя его использовать для создания тестового модуля

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса

да.. замена на beforeEach подняла процент зеленых тестов )))))

🎋🎋🥷 ngxSamurai 🏯🎋🎋
да.. замена на beforeEach подняла процент зеленых ...

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

🎋🎋🥷 ngxSamurai-🏯🎋🎋 Автор вопроса
Sergei Vakhrushev
так это ожидаемо, я вообще удивлен как у вас до эт...

это просто ж****а .. а не понимаю.. после миграции на ts@4.9.5 + jest@29 + angular@15 я столько ошибок выловил уже... что непонятно как до это все запускалось со 100% ковереджем

🎋🎋🥷 ngxSamurai 🏯🎋🎋
это просто ж****а .. а не понимаю.. после миграции...

> 100% ковереджем судя по тому что раньше не падало с учетом не изолированных тестов - каверейдж тут для галочки был

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта