Skip to content

CodeceptJS 4.x: Test hangs for a few seconds before end #5317

@mirao

Description

@mirao

Only 4.x is affected. It doesn't matter if you use tsx or ts-node.
3.x works fine

config codecept.conf.ts:

export const config: CodeceptJS.MainConfig = {
  tests: "./*_test.ts",
  output: "./output",
  helpers: {
    Playwright: {
      browser: "chromium",
      url: "http://localhost",
      show: true
    }
  },
  name: "esm",
  require: ["tsx/esm"]
};

test

Feature("My");

const {I} = inject();

Scenario("test something",  () => {
    I.say("Hello World" );
});

Expected result:

  • The test is fast

Actual result:

  • The test hangs for 5 secs before the end

codeceptjs@4.0.1-beta.12

mirao@rog:~/workspace/codeceptjs/esm$ codeceptjs run --verbose|ts
Nov 19 08:57:27 ***************************************
Nov 19 08:57:27 nodeInfo:  20.19.5
Nov 19 08:57:27 osInfo:  Linux 6.14 Ubuntu 24.04.3 LTS 24.04.3 LTS (Noble Numbat)
Nov 19 08:57:27 cpuInfo:  (16) x64 AMD Ryzen 7 9700X 8-Core Processor
Nov 19 08:57:27 chromeInfo:  142.0.7444.175
Nov 19 08:57:27 edgeInfo:  "N/A"
Nov 19 08:57:27 firefoxInfo:  145.0
Nov 19 08:57:27 safariInfo:  N/A
Nov 19 08:57:27 playwrightBrowsers:  "chromium: 141.0.7390.37, firefox: 142.0.1, webkit: 26.0"
Nov 19 08:57:27 If you need more detailed info, just run this: npx codeceptjs info
Nov 19 08:57:27 ***************************************
Nov 19 08:57:27 CodeceptJS v4.0.1-beta.12 #StandWithUkraine
Nov 19 08:57:27 Using test root "/home/mirao/workspace/codeceptjs/esm"
Nov 19 08:57:27 
Nov 19 08:57:27 Helpers: Playwright
Nov 19 08:57:27 Plugins: screenshotOnFail
Nov 19 08:57:27 My --
Nov 19 08:57:27 /home/mirao/workspace/codeceptjs/esm/My_test.ts
Nov 19 08:57:27     [1]  Starting recording promises
Nov 19 08:57:27     Timeouts: 
Nov 19 08:57:27  › [Session] Starting singleton browser session
Nov 19 08:57:27   test something
Nov 19 08:57:27  › [New Session] {"ignoreHTTPSErrors":false,"acceptDownloads":true}
Nov 19 08:57:27   Scenario()
Nov 19 08:57:27     I say "Hello World"
Nov 19 08:57:27    Hello World
Nov 19 08:57:27   ✔ OK in 4ms
Nov 19 08:57:27 
Nov 19 08:57:32 
Nov 19 08:57:32   OK  | 1 passed   // 5s

With codeceptjs@3.7.5 it's fast:

mirao@rog:~/workspace/codeceptjs/esm$ codeceptjs run --verbose|ts
Nov 19 09:00:18 ***************************************
Nov 19 09:00:18 nodeInfo:  20.19.5
Nov 19 09:00:18 osInfo:  Linux 6.14 Ubuntu 24.04.3 LTS 24.04.3 LTS (Noble Numbat)
Nov 19 09:00:18 cpuInfo:  (16) x64 AMD Ryzen 7 9700X 8-Core Processor
Nov 19 09:00:18 chromeInfo:  142.0.7444.175
Nov 19 09:00:18 edgeInfo:  "N/A"
Nov 19 09:00:18 firefoxInfo:  undefined
Nov 19 09:00:18 safariInfo:  N/A
Nov 19 09:00:18 playwrightBrowsers:  "chromium: 141.0.7390.37, firefox: 142.0.1, webkit: 26.0"
Nov 19 09:00:18 If you need more detailed info, just run this: npx codeceptjs info
Nov 19 09:00:18 ***************************************
Nov 19 09:00:18 CodeceptJS v3.7.5 #StandWithUkraine
Nov 19 09:00:18 Using test root "/home/mirao/workspace/codeceptjs/esm"
Nov 19 09:00:18 Helpers: Playwright
Nov 19 09:00:18 Plugins: screenshotOnFail
Nov 19 09:00:18 
Nov 19 09:00:18 My --
Nov 19 09:00:18 /home/mirao/workspace/codeceptjs/esm/My_test.ts
Nov 19 09:00:18     [1]  Starting recording promises
Nov 19 09:00:18     Timeouts: 
Nov 19 09:00:18  › [Session] Starting singleton browser session
Nov 19 09:00:18   test something
Nov 19 09:00:18  › [New Session] {"ignoreHTTPSErrors":false,"acceptDownloads":true}
Nov 19 09:00:18   Scenario()
Nov 19 09:00:18     I say "Hello World"
Nov 19 09:00:18    Hello World
Nov 19 09:00:18   ✔ OK in 3ms
Nov 19 09:00:18 
Nov 19 09:00:18 
Nov 19 09:00:18   OK  | 1 passed   // 219ms

Used SW:

  • CodeceptJS 4.0.1-beta.12
  • Playwright 1.56.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions