Tests using `web-test-runner` time out waiting for the browser to start
Command
test
Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
No response
Description
We are concerned about Karma not being maintained and we want to know the cost of migrating to other alternatives
We came across your blog post Moving Angular CLI to Jest and Web Test Runner and want to explore the web-test-runner, but it fails with the following error: The browser was unable to create and start a test page after 30000ms. You can increase this timeout with the browserStartTimeout option.
Minimal Reproduction
I started a new project:
ng new test-web-runner- selected
SCSSandNo SSR - installed
@web/test-runner - switched the
testbuilder inangular.jsonto@angular-devkit/build-angular:web-test-runner - run the default test
Exception or Error
No response
Your Environment
Angular CLI: 17.3.3
Node: 20.11.0
Package Manager: npm 10.2.4
OS: darwin arm64
Angular: 17.3.3
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1703.3
@angular-devkit/build-angular 17.3.3
@angular-devkit/core 17.3.3
@angular-devkit/schematics 17.3.3
@schematics/angular 17.3.3
rxjs 7.8.1
typescript 5.3.3
zone.js 0.14.4
Anything else relevant?
No response
just install @web/test-runner-core and it will work.
I think it should be added to the error message
Unfortunately installing @web/test-runner-core didn't help.
Normally @web/test-runner-core is already a dependency of test-web-runner
What sort of browser-launcher setup are you using when running your tests? Are you trying to test against an older set of browsers, by chance?
Apologies if this ends up being unrelated, but I ran into this issue (and error message) while trying to resolve my own; perhaps notes I left at https://github.com/modernweb-dev/web/issues/2756 might help.
Add this to your angular.json file to get the tests passing for now
Correct, I found this too. Looks like this is required starting with Angular 15.