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.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary
When using Testem in ci mode, if the QUnit.done callback returns a pending Promise, the browser will prematurely disconnect preventing the rest of the registered callbacks from running in QUnit's queue. A very simple example:
Run ember test with the ability to inspect browser output. A quick way to do this is to remove the --headless option and add --auto-open-devtools-for-tabs in testem.js.
Note that the browser will disconnect as soon as doneCallbackOne() is invoked. doneCallbackTwo() and doneCallbackThree() never execute.
Additional Details
The issue doesn't occur when running ember test --server as the browser session persists after the test execution completes and QUnit is able to run all of its registered callbacks.
This presents a huge issue for tooling such as ember-a11y-testing and ember-cli-code-coverage, which expect setup to occur in the done handler. In the following example, any registered callbacks defined after the ember-cli-code-coverage setup, is never invoked.
Summary
When using Testem in
ci
mode, if theQUnit.done
callback returns a pending Promise, the browser will prematurely disconnect preventing the rest of the registered callbacks from running in QUnit's queue. A very simple example:Reproduction Steps
tests/test-helper.js
:ember test
with the ability to inspect browser output. A quick way to do this is to remove the--headless
option and add--auto-open-devtools-for-tabs
intestem.js
.doneCallbackOne()
is invoked.doneCallbackTwo()
anddoneCallbackThree()
never execute.Additional Details
The issue doesn't occur when running
ember test --server
as the browser session persists after the test execution completes and QUnit is able to run all of its registered callbacks.This presents a huge issue for tooling such as
ember-a11y-testing
andember-cli-code-coverage
, which expect setup to occur in thedone
handler. In the following example, any registered callbacks defined after theember-cli-code-coverage
setup, is never invoked.The text was updated successfully, but these errors were encountered: