-
Notifications
You must be signed in to change notification settings - Fork 470
Specify ontimeout at configuration level #1179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Putting logs in the setupTest's configure object is also behaving weirdly, like it's logging the error a lot of times: configure({
asyncUtilTimeout: 2000,
getElementError: (message, container) => {
console.log('>'.repeat(20), 'container', container, 'message', message);
// screen.debug(null, 10000000000);
return new Error(message!);
}
}); |
console.log
>>>>>>>>>>>>>>>>>>>> container HTMLBodyElement {
[Symbol(SameObject caches)]: [Object: null prototype] {
attributes: NamedNodeMap {},
childNodes: NodeList {}
}
} message Unable to find an element with the text: /LOOLLL/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
at Object.getElementError (src/setupTests.ts:80:17) |
Hey, |
@naorpeled go for it, we're here to assist if you need :) |
Hey @SimonGodefroid, It seems that My guess is that it was already fixed in one of latest versions. |
Hey, import {configure} from '@testing-library/dom'
configure({
getElementError: (message, container) => {
const customMessage = [message, container.firstChild].join(
'\n\n',
)
return new Error(customMessage)
},
}) |
Thanks @naorpeled. |
Is there a way to specify an
onTimeout
function at top level?We are having some flaky tests and I'd like to be able to print the screen when some of the timeouts occur because we figured in some cases the printed DOM during timeouts is really not what we're expecting.
Context:
some tests fails every once in a while because we render the app and redirect to a specific route and sometimes 2 tests that run in a row, the second one is not starting at the redirect location at the beginning of the test but at the location where the previous test stopped (when you click on the submit button of a form, mock with msw a patch request and that the code redirects to the details page). For that case we have set the
DEBUG_PRINT_LIMIT
in the CI command to be able to see the mounted DOM and figured that weird case.Motivation:
We have new flaky tests and this time the error message in the CI is:
Locally I wrote a purposefully broken statement to see whether I could leverage on
onTimeout
function to print the DOM as it was when the code failed.I would like to know how I can specify an
onTimeout
function or whether I can usegetElementError
to achieve this.The text was updated successfully, but these errors were encountered: