Timeout of 15000ms exceeded что значит

Timeout of 10000ms exceeded even when timeout is give as 30000 #1172

Comments

arjunkomath commented Mar 17, 2016

Config file:
waitforTimeout: 30000,

At both places I’m giving timeout as 30000, but still the test will timeout at 10000.

The text was updated successfully, but these errors were encountered:

patthiel commented Mar 22, 2016

Can you provide the error that’s outputted? thanks

asoto-2sol commented Apr 1, 2016

I’m having the same error, this is the error output. I also configured the waitforTimeout setting to 30000

christian-bromann commented Apr 1, 2016 •

As you can get from the docs the waitforTimeout sets the default timeout for all waitForXXX commands. If you want to increase the test timeout you need to set it in your framework options like in Mocha:

asoto-2sol commented Apr 3, 2016

Thanks for the clarification, changed the mocha timeout settings and is all working as expected now.

prewk commented Oct 18, 2016

@christian-bromann You might want to change timeput to timeout in your answer.

christian-bromann commented Oct 18, 2016

briancullinan commented Aug 7, 2017 •

There should be a warning for repeated config settings. WebStorm highlights the object key when there is a duplicate declaration it would be nice if the «testing» framework shows these kinds of mistakes.

P.S. Looking at Apache configuration it would not be out of scope to add a warning for syntax errors when the test starts. Seems pretty basic to me.

christian-bromann commented Aug 7, 2017

it would be nice if the «testing» framework shows these kinds of mistakes

This is not the responsibility of the testing framework. It should be caught by your IDE!

briancullinan commented Aug 7, 2017

christian-bromann commented Aug 7, 2017

It is not out of scope to do basic sanity checks

We do these but not on that level. If you have duplicate property keys in your config, WebdriverIO couldn’t even detect those.

briancullinan commented Aug 7, 2017

@christian-bromann After doing some research, I don’t see a way for Nodejs to report this error either. Is this normal to have 1 IDE that correctly evaluates code, but then those evaluations aren’t available from within the compiler? That seems odd that an IDE does something a compiler does not.

christian-bromann commented Aug 7, 2017

Is this normal to have 1 IDE that correctly evaluates code, but then those evaluations aren’t available from within the compiler?

I don’t know. What I know is that WebdriverIO can’t do anything here.

selvakumar1994 commented Aug 29, 2018

@christian-bromann where i added the below script in node js

mochaOpts: <
timeout: 99999999
>

christian-bromann commented Aug 29, 2018

in your wdio.conf.js as shown in the example

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»; если возвращаете обещание, убедитесь, что оно разрешается

У меня есть этот тест nodejs, при тестировании я получаю ошибку готовой функции, не объявленной.

Мой тестовый код: я перезвонил, но все еще получаю сообщение об ошибке done();

10 ответов

Я столкнулся с той же проблемой, ссылка @ MFAL в комментарии помогла. Я расширяюсь на этом.

Другие способы, упомянутые в блоге Витса:

Используйте async / wait:

Со мной случилось, когда я вернулся, поддерживая старый нод-модуль с Node6 до Node 13. Исправление очень простое:

Я также получил эту ошибку, и после нескольких часов исследований и отладки я нашел основную причину.

Рассмотрим этот тест:

Когда я запускаю тест, я получаю эту ошибку:

Теперь рассмотрим этот немного другой тест, в котором аргумент done удален :

Когда я запускаю этот тест, он проходит.

Каким-то образом наличие аргумента done в асинхронной функции нарушает тест, даже если он не используется, и даже если done () вызывается в конце теста.

Использование версии Mocha 7.2.0

Вы можете просто добавить время ожидания к определенному тесту, чтобы увеличить / переопределить время ожидания по умолчанию, которое составляет 2 секунды. У меня была та же проблема, но я смог ее обойти, используя:

У меня была такая же ошибка, и это на самом деле потому, что я передал готово и называл готовым. Таким образом, удаление готового делает тест пройденным. Я вызывал функцию async в маршруте, который тестировал

Это поможет мне решить проблему.

Эта ошибка возникает из-за мокко.

Если ничего из вышеперечисленного не помогает, попробуйте избавиться от «done» и использовать вместо этого async function ()

Источник

In mocha testing while calling asynchronous function how to avoid the timeout Error: timeout of 2000ms exceeded

In my node application I’m using mocha to test my code. While calling many asynchronous functions using mocha, I’m getting timeout error ( Error: timeout of 2000ms exceeded. ). How can I resolve this?

Timeout of 15000ms exceeded что значит. FCaN9. Timeout of 15000ms exceeded что значит фото. Timeout of 15000ms exceeded что значит-FCaN9. картинка Timeout of 15000ms exceeded что значит. картинка FCaN9

7 Answers 7

You can either set the timeout when running your test:

Or you can set the timeout for each suite or each test programmatically:

For more info see the docs.

Timeout of 15000ms exceeded что значит. . Timeout of 15000ms exceeded что значит фото. Timeout of 15000ms exceeded что значит-. картинка Timeout of 15000ms exceeded что значит. картинка

I find that the «solution» of just increasing the timeouts obscures what’s really going on here, which is either

You usually encounter #2 when Mocha doesn’t receive assertion errors from a callback. This is caused by some other code swallowing the exception further up the stack. The right way of dealing with this is to fix the code and not swallow the error.

When external code swallows your errors

In case it’s a library function that you are unable to modify, you need to catch the assertion error and pass it onto Mocha yourself. You do this by wrapping your assertion callback in a try/catch block and pass any exceptions to the done handler.

This boilerplate can of course be extracted into some utility function to make the test a little more pleasing to the eye:

Speeding up network tests

Other than that I suggest you pick up the advice on starting to use test stubs for network calls to make tests pass without having to rely on a functioning network. Using Mocha, Chai and Sinon the tests might look something like this

Источник

В тестировании mocha при вызове асинхронной функции как избежать ошибки тайм-аута: превышен тайм-аут 2000ms

в моем приложении узла я использую mocha для тестирования моего кода. При вызове многих асинхронных функций с помощью mocha я получаю ошибку тайм-аута ( Error: timeout of 2000ms exceeded. ). Как я могу это решить?

4 ответов

вы можете либо установить тайм-аут при запуске теста:

или вы можете установить тайм-аут для каждого набора или каждого теста программно:

для получения дополнительной информации см. docs.

вы обычно сталкиваетесь с #2, когда Mocha не получает ошибки утверждения от обратного вызова. Это вызвано каким-то другим кодом, проглатывающим исключение дальше по стеку. правильный способ справиться с этим-исправить код и не проглотить ошибку.

когда внешний код проглатывает свои ошибки

в случае, если это библиотечная функция, которую вы не можете изменить, вам нужно поймать ошибку утверждения и передать ее на Мокко самостоятельно. Вы делаете это, обернув обратный вызов утверждения в блок try/catch и передав любые исключения обработчик готов.

этот шаблон, конечно, может быть извлечен в некоторую функцию полезности, чтобы сделать тест немного более приятным для глаз:

ускорение сетевых тестов

кроме этого, я предлагаю вам взять совет по началу использования тестовых заглушек для сетевых вызовов, чтобы тесты проходили без необходимости полагаться на функционирующую сеть. Используя Мокко, чай и Синон, тесты могут выглядеть примерно так это

посмотреть Синон это nise docs для получения дополнительной информации.

для меня проблема была на самом деле описать функцию, который при условии функции стрелки, заставляет mocha пропустить тайм-аут, и ведут себя не последовательно. (Используя ES6)

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

Так вот как это выглядит, когда не работает должным образом:

и это работает с использованием анонимной функции

Надежда он помогает кому-то, моя конфигурация выше: (nodejs: 8.4.0, npm: 5.3.0, mocha: 3.3.0)

немного поздно, но кто-то может использовать это в будущем. Вы можете увеличить время ожидания теста, обновив сценарии в пакете.json со следующим:

Источник

timeout of 2000ms exceeded. Ensure the done() callback is being called in this test. #2025

Comments

gumatias commented Dec 26, 2015

I’m getting the following error when running the entire suite of tests:

timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.

However, the problem still persists even after deleting every occurrence in my tests that deal with HTTP and promises. All I’ve got now are Angular directive and controller specs which doesn’t seem to do much other than checking template data, directive and controller logic.

Does anyone know why this is still happening and if there’s a better way to know exactly what the issue is? thanks!

The text was updated successfully, but these errors were encountered:

boneskull commented Dec 26, 2015

@gumatias to be much more help we’d need to set your tests

gumatias commented Dec 27, 2015

There’s around 700+ specs at the moment and they’re all proprietary code. I can provide one of two similar samples, would that be any helpful?

gumatias commented Dec 28, 2015

Below is what I currently have in package.json. Upgrading libraries such as mocha and karma-mocha didn’t seem to help.

Below are some of my attempts on getting to a state where the timeouts would stop occurring (without success).

1. Called done() within and after each promise and async calls in tests

2. Removed all specs that deals with async calls, promises, httpBackend and timeout (just in case)

3. Upgraded most libraries in package.json :

4. Removed specs that karma spec reporter was complaining to be slow:
e.g. Chrome 39.0.2171 (Mac OS X 10.11.2) SLOW 2.457 secs: My Spec Name «before each» hook for «should display » Add My Spec» when doing something»

Turned out other new specs were complaining to be slow. This could probably lead to deleting specs without really finding the root cause.

gumatias commented Dec 29, 2015

Closing this issue. It turned out to be a memory leak issue described here #2030

elvinaze commented Aug 30, 2016

Test-specific timeouts may also be applied, or the use of this.timeout(0) to disable timeouts all together:

spike321 commented Dec 13, 2016 •

If you’re using Ember, try wrapping async calls in Ember.run => read this

I had the same problem, and Ember.run => fixed it.

vishnu2prasadh commented Sep 7, 2017 •

Am getting
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure «done()» is called; if returning a Promise, ensure it resolves.
How to fix this?
My code is:

ScottFreeCode commented Sep 8, 2017

Hi @vishnu2prasadh, have you tried increasing the timeout to longer than the HTTP API is expected to take to respond? Your test’s usage of done appears to be correct.

vishnu2prasadh commented Sep 8, 2017

@ScottFreeCode thank you. Error resolved by adding this.timeout(10000); inside

ianrussel commented Jan 25, 2018

just add in your package.json under scripts

Then you can just run

CryptoKiddies commented Jun 1, 2018

@elvinaze is there a way to increase timeout limits in the beforeEach block?

chunkingz commented Dec 9, 2018

just add in your package.json under scripts

Then you can just run

the most useful answer so far 👍

ranjanpandey11111 commented Feb 23, 2019

just add in your package.json under scripts

Then you can just run

ashish101184 commented Apr 9, 2019

it(‘should access user module’, function(done) <
any_asynchfunction().then(function(check) <
try <
assert.strictEqual(check,true,’admin user have access user module’);
done();
>catch(err) <
done(err);
>
>);
>);

var any_asynchfunction = function () <
var deferred = q.defer();
// Call Async function like : API call (http://api.domain.com)
deferred.resolve(res);
return deferred.promise;
>

Testing async code with Mocha using callbacks and promises

plroebuck commented Apr 9, 2019 •

@ashish101184, don’t add comments to unrelated closed issues!

Your problem was explained in the documentation.

vijaysimh commented Apr 29, 2019

Test-specific timeouts may also be applied, or the use of this.timeout(0) to disable timeouts all together:

source: https://mochajs.org/#timeouts
Hello have installed botium directline3 facing error ‘Timeout of 60000ms exceeded’ as per your guidelines in which file should we have add these lines

sean-olson commented May 12, 2019 •

scibert commented Jun 3, 2020

I was also getting that error, and after several hours of researching and debugging, I found the root cause.

Consider this test:

When I run the test, I get this error:

Now consider this slightly different test, where the done argument is removed:

When I run this test, it passes.

Somehow the presence of the done argument in the async function breaks the test, even if it’s not used, and even if done() is called at the end of the test.

VishSinha commented Jul 27, 2020

just add in your package.json under scripts

Then you can just run

jeff-r-koyaltech commented Apr 15, 2021

I know this is old, but I have encountered tests that run fine on one version of Node, but hang with the «timeout of 2000ms exceeded. Ensure the done() callback» message on other versions.

My node code runs on Node v 14.x as per my Dockerfile, and my tests pass fine on that version. But on a build agent in Azure, I was running on Node v 12.x, and I was getting this error. Once I specified v 14.x, it also worked on Azure’s pipeline without any other code changes. 👍

So it’s worth trying a few different versions of Node, if you’re otherwise stuck!

Thanks to all who have previously commented on this issue. Good info to know.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *