expectCleanTestSurfaceAtEnd function
void
expectCleanTestSurfaceAtEnd()
Adds a setUpAll
and tearDownAll
pair to the current group that verifies that
no new elements exist on the test surface after everything is done running.
main() {
group('SomeComponent', () {
expectCleanTestSurfaceAtEnd();
// Additional `group`s and/or `test`s
});
}
Implementation
void expectCleanTestSurfaceAtEnd() {
late Set<Element> nodesBefore;
setUpAll(() {
nodesBefore = document.body!.children.toSet();
});
tearDownAll(() {
Set<Element> nodesAfter = document.body!.children.toSet();
var nodesAdded = nodesAfter.difference(nodesBefore).map((element) => element.outerHtml).toList();
expect(nodesAdded, isEmpty, reason: 'tests should leave the test surface clean.');
});
}