codeceptjs 3.7.0-beta.18 → 3.7.0-beta.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,6 +25,7 @@ module.exports = async function (options) {
25
25
  ai: true, // we don't need to check AI
26
26
  helpers: false,
27
27
  setup: false,
28
+ teardown: false,
28
29
  tests: false,
29
30
  def: false,
30
31
  }
@@ -136,19 +137,31 @@ module.exports = async function (options) {
136
137
  try {
137
138
  if (helper._beforeSuite) await helper._beforeSuite(suite)
138
139
  if (helper._before) await helper._before(test)
140
+ } catch (err) {
141
+ err.message = `${helper.constructor.name} helper: ${err.message}`
142
+ if (checks.setup instanceof Error) err.message = `${err.message}\n\n${checks.setup?.message || ''}`.trim()
143
+ checks.setup = err
144
+ }
145
+ }
146
+
147
+ printCheck('Helpers Before', checks['setup'], standardActingHelpers.some(h => Object.keys(helpers).includes(h)) ? 'Initializing browser' : '')
148
+
149
+ checks.teardown = true
150
+ for (const helper of Object.values(helpers).reverse()) {
151
+ try {
139
152
  if (helper._passed) await helper._passed(test)
140
153
  if (helper._after) await helper._after(test)
141
154
  if (helper._finishTest) await helper._finishTest(suite)
142
- if (helper._afterSuite) await helper._afterSuite(suite)
155
+ if (helper._afterSuite) await helper._afterSuite(suite)
143
156
  } catch (err) {
144
157
  err.message = `${helper.constructor.name} helper: ${err.message}`
145
- if (checks.setup) err.message = `${err.message}\n\n${checks.setup?.message}`
146
- checks.setup = err
158
+ if (checks.teardown instanceof Error) err.message = `${err.message}\n\n${checks.teardown?.message || ''}`.trim()
159
+ checks.teardown = err
147
160
  }
148
161
  }
149
- }
150
162
 
151
- printCheck('Helpers Before/After', checks['setup'], standardActingHelpers.some(h => Object.keys(helpers).includes(h)) ? 'Initializing and closing browser' : '')
163
+ printCheck('Helpers After', checks['teardown'], standardActingHelpers.some(h => Object.keys(helpers).includes(h)) ? 'Closing browser' : '')
164
+ }
152
165
 
153
166
  try {
154
167
  definitions(configFile, { dryRun: true })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeceptjs",
3
- "version": "3.7.0-beta.18",
3
+ "version": "3.7.0-beta.19",
4
4
  "description": "Supercharged End 2 End Testing Framework for NodeJS",
5
5
  "keywords": [
6
6
  "acceptance",