Skip to content

Commit 0ef76fd

Browse files
committed
Fix coverage output - await recorder tasks after event.all.after
- event.all.after handlers can add recorder tasks but they weren't awaited - Made done() async and await recorder.promise() after emitting event.all.after - This ensures coverage generation and other cleanup tasks complete - Fixes coverage plugin not writing output file
1 parent 16a61e4 commit 0ef76fd

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

lib/codecept.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import ActorFactory from './actor.js'
1818
import output from './output.js'
1919
import { emptyFolder } from './utils.js'
2020
import { initCodeceptGlobals } from './globals.js'
21+
import recorder from './recorder.js'
2122

2223
import storeListener from './listener/store.js'
2324
import stepsListener from './listener/steps.js'
@@ -268,9 +269,11 @@ class Codecept {
268269
})
269270
}
270271

271-
const done = () => {
272+
const done = async () => {
272273
event.emit(event.all.result, container.result())
273274
event.emit(event.all.after, this)
275+
// Wait for any recorder tasks added by event.all.after handlers
276+
await recorder.promise()
274277
resolve()
275278
}
276279

0 commit comments

Comments
 (0)