Change8

test@0.3.0

📦 remixView on GitHub →
6 features🐛 2 fixes🔧 11 symbols

Summary

This release introduces an asynchronous timer advancement utility for fake timers and enhances configuration flexibility by accepting arrays for several test filtering options. Server and E2E tests now default to running in forked processes for better isolation.

Migration Steps

  1. If relying on the default 'type' configuration, update code to handle the new array default ["server", "browser", "e2e"] instead of the string "server,browser,e2e" if necessary.

✨ New Features

  • Added FakeTimers#advanceAsync(ms) to t.useFakeTimers() which walks pending timers, firing them sequentially while yielding to microtasks between firings to allow promises and scheduled timers to settle.
  • Configuration fields glob.{test,browser,e2e,exclude}, project, type, and coverage.{include,exclude} now accept arrays.
  • Matching CLI flags (--glob.test, --project, --type, etc.) can now be repeated.
  • Positional arguments after 'remix-test' are now collected into glob.test.
  • The default value for the 'type' configuration field is now ["server", "browser", "e2e"] instead of the string "server,browser,e2e".
  • The end-of-run summary now includes the total number of test files/suites for all test reporters.

🐛 Bug Fixes

  • Server and E2E test files now run in forked child processes by default, with 'pool: 'threads'' or '--pool threads' available to restore previous worker-thread behavior.
  • Leaked test worker resources are cleaned up after results are reported.

Affected Symbols