Size: a a a

2019 December 09

AV

Alex Vershinin in JS for testing
Roman Tyurin
Возможно я не так задал вопрос…

В одном файле .ts следующая структура:
describe('Feature Name', function() {
   describe('Test Suite 1', function() {
       describe('Case1', function() {
           it ()
           it ()
       });
       describe('Case2', function() {
           it ()
           it ()
       });
});

Я могу запустить только Case1?
Для отладки .only, в раннере только спеку вроде можно указать, но организация не очень, согласен)
источник

RT

Roman Tyurin in JS for testing
Ок, спасибо за помощь - буду реорганизовывать папки
источник

AP

Alex P in JS for testing
Oleksii Ihnatiuk
только мне кажется, что такие вложенности ни к чему хорошему не приводят? Папка feature -> папка suite -> файл case1, файл case2
+1
источник

AV

Alex Vershinin in JS for testing
У себя делаю: describe (один на файл) => context (в роли комплекта) => it.

Может кто по-другому подскажет)
источник

A

Andrii in JS for testing
Хто може пояснити чому потрібно писати return перед промісами в протракторі?  Без return тест просто проходить і нічого не виконує . SELENIUM_PROMISE_MANAGER: false.
https://gist.github.com/andpitsyk/c9fddaeff5e8be9d0fd586b808f0f238
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrii
Хто може пояснити чому потрібно писати return перед промісами в протракторі?  Без return тест просто проходить і нічого не виконує . SELENIUM_PROMISE_MANAGER: false.
https://gist.github.com/andpitsyk/c9fddaeff5e8be9d0fd586b808f0f238
Это не обязательно если писать на async/await
источник

A

Andrii in JS for testing
Oleksandr Khotemskyi
Это не обязательно если писать на async/await
До того писав на async і особо не парився. Захотів розібратись з промісами і взагалі не очевидно було що потрібно ставити return
источник

A

Andrii in JS for testing
гугл не помагає
источник

O

Olga in JS for testing
When you return something from a then() callback, it's a bit magic. If you return a value, the next then() is called with that value. However, if you return something promise-like, the next then() waits on it, and is only called when that promise settles (succeeds/fails).

via https://developers.google.com/web/fundamentals/getting-started/primers/promises#queuing_asynchronous_actions

Нагугливается такое ) может поможет
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrii
До того писав на async і особо не парився. Захотів розібратись з промісами і взагалі не очевидно було що потрібно ставити return
Если кратко - это для того чтобы вернуть промис из блока. Иначе твой тест раннер (jasmine/mocha/etc) никак не сможет понять что асинхронные операции закончились. А если вернулся промис то раннер будет ждать пока он не зарезолвится/зареджектится. А когда твоя функция обьявлена как async - промис возвращается неявно
источник

O

Olga in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
А с then все просто. .then возвращает новый промис
источник

O

Olga in JS for testing
с then, я так поняла, вопросов нет, вопрос с return. Прост там человек спрашивал про then() (по моей ссылке), а на самом деле у него трабл с ретурном был :)
источник

A

Andrii in JS for testing
проблема з retrun перед промісом а не в методі then
источник

O

Olga in JS for testing
ты в функцию it или describe скармливаешь колбэк, который должен что-то вернуть. в данном случае другую функцию, промис. вроде так. если нету ретурна, то оно просто возвращает ничего и ничего не делает.
источник

VG

Vitalii Grygoruk in JS for testing
треба було об`явити it(‘foo’, async () => {})
источник

O

Olga in JS for testing
трэба було тред с начала прочитать  ))
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrii
проблема з retrun перед промісом а не в методі then
Гугли - async tests in mocha
источник

VG

Vitalii Grygoruk in JS for testing
в телеграмі немає тредів Olga
источник

OK

Oleksandr Khotemskyi in JS for testing
Andrii
проблема з retrun перед промісом а не в методі then
источник