Size: a a a

JavaScript testing

2020 November 28

SC

Sergey Chepets in JavaScript testing
Всем привет. Пытаюсь реализовать фрейм для апитестов на тайпскрипте.
Часть проверок выполняю в монге, мускуле и кафке, поэтому в beforeAll выполняю конекты к базам, кафке.
Изначально планировал юзать jest, но если использовать jest то инициализацию коннектора я могу выполнить только в testEnvironment, но внутри него я не могу юзать ни babel-ts ни ts-jest трансформации, и файлы нужно писать так, что бы их понимала node.js, а такое мне не подходит.
Второй вариант делать инициализацию в setupFilesAfterEnv, но такой сетап не поддерживает асинхронность.
В общем есть предположение, что с такими качелями я jest использовать не буду.
Какой раннер кто посоветует, в котором асинхронный тайпскриптовый beforeAll поддерживается из коробки, есть параллелизация, есть аллюр либа под этот раннер?
источник

AP

Alexander Popov in JavaScript testing
Sergey Chepets
Всем привет. Пытаюсь реализовать фрейм для апитестов на тайпскрипте.
Часть проверок выполняю в монге, мускуле и кафке, поэтому в beforeAll выполняю конекты к базам, кафке.
Изначально планировал юзать jest, но если использовать jest то инициализацию коннектора я могу выполнить только в testEnvironment, но внутри него я не могу юзать ни babel-ts ни ts-jest трансформации, и файлы нужно писать так, что бы их понимала node.js, а такое мне не подходит.
Второй вариант делать инициализацию в setupFilesAfterEnv, но такой сетап не поддерживает асинхронность.
В общем есть предположение, что с такими качелями я jest использовать не буду.
Какой раннер кто посоветует, в котором асинхронный тайпскриптовый beforeAll поддерживается из коробки, есть параллелизация, есть аллюр либа под этот раннер?
В джесте есть этот хук
источник

AP

Alexander Popov in JavaScript testing
Не совсем понятно а чем проблема
источник

SC

Sergey Chepets in JavaScript testing
Alexander Popov
Не совсем понятно а чем проблема
нужно выполнять асинхронный коннект к базам перед каждым запуском тестового файла.
в testEnvironment добавляю ts файл, получаю SyntaxError: Cannot use import statement outside a module
источник

AP

Alexander Popov in JavaScript testing
Sergey Chepets
нужно выполнять асинхронный коннект к базам перед каждым запуском тестового файла.
в testEnvironment добавляю ts файл, получаю SyntaxError: Cannot use import statement outside a module
Так в спеке сделай бифор алл
источник

SC

Sergey Chepets in JavaScript testing
Alexander Popov
Так в спеке сделай бифор алл
А как сделать так, что бы ни копипастить в каждой спеке?
источник

AP

Alexander Popov in JavaScript testing
Сделай в файле и импортируй в спеках
источник

AP

Alexander Popov in JavaScript testing
Будет строчка копипасты, но как то так
источник

SC

Sergey Chepets in JavaScript testing
Alexander Popov
Сделай в файле и импортируй в спеках
да, вроде выглядит не страшно, но решает мои траблы. Спасибо
источник

B

Bola in JavaScript testing
Автор вопроса может хотел перед всеми спеками один раз сбегать к базам?
источник

SC

Sergey Chepets in JavaScript testing
Bola
Автор вопроса может хотел перед всеми спеками один раз сбегать к базам?
Это идеалочка, но такое точно ни jest, ни mocha пока не умеют.
источник

AP

Alexander Popov in JavaScript testing
Sergey Chepets
Это идеалочка, но такое точно ни jest, ни mocha пока не умеют.
умеют кста.
источник

AP

Alexander Popov in JavaScript testing
а, я перепутал, думал в енв ты не мог асинк засунуть...jest-circus же может
источник

AP

Alexander Popov in JavaScript testing
сорян
источник

AP

Alexander Popov in JavaScript testing
можно перед тестами компилировать енв написанный на тс))
и потом джест чтоб его подхватил
источник
2020 November 29

VG

Vitalii Grygoruk in JavaScript testing
Sergey Chepets
Это идеалочка, но такое точно ни jest, ни mocha пока не умеют.
mocha умеет как раз (смотри на
--require
flag)
источник

SC

Sergey Chepets in JavaScript testing
блин, запускаю 200 спек, и перед каждой выполняется конект с базами заново, а потом в tearDown все конекты прерываю.
Уже подумываю реализовать приложение, которое будет конектится, читать, писать из баз, а тесты с ним будут через REST общаться. Все равно все подымаю в гитлабе в образах, просто добавится еще один образ с этой апкой.
источник

VG

Vitalii Grygoruk in JavaScript testing
Sergey Chepets
блин, запускаю 200 спек, и перед каждой выполняется конект с базами заново, а потом в tearDown все конекты прерываю.
Уже подумываю реализовать приложение, которое будет конектится, читать, писать из баз, а тесты с ним будут через REST общаться. Все равно все подымаю в гитлабе в образах, просто добавится еще один образ с этой апкой.
не горячись, в рамках одного процесса это можно по-идее реализовать
источник

AP

Alexander Popov in JavaScript testing
Sergey Chepets
блин, запускаю 200 спек, и перед каждой выполняется конект с базами заново, а потом в tearDown все конекты прерываю.
Уже подумываю реализовать приложение, которое будет конектится, читать, писать из баз, а тесты с ним будут через REST общаться. Все равно все подымаю в гитлабе в образах, просто добавится еще один образ с этой апкой.
а варик с енв почему не нравится?
источник

SC

Sergey Chepets in JavaScript testing
Alexander Popov
а варик с енв почему не нравится?
так он все равно перед каждой спекой выполняется. Онне использует ips
источник