首页 > 解决方案 > 如果在 NX 工作区中生成预设为“空”的 Angular 项目,如何运行 e2e 测试?

问题描述

如果您使用预设创建 NX 工作区angular,则可以使用成功运行 e2e 测试yarn e2e

yarn create nx-workspace start-angular --preset=angular --appName=web --packageManager=yarn --nx-cloud=false --style=scss --routing --viewEncapsulation=Emulated --enableIvy --unitTestRunner=jest --e2eTestRunner=cypress --linter=eslint
cd start-angular
yarn e2e

但是,如果您使用预设创建工作区empty并稍后添加 Angular 项目(例如,能够传递其他选项,例如--strict),

yarn create nx-workspace start-empty --preset empty --packageManager=yarn --nx-cloud=false
cd start-empty
yarn add --dev @nrwl/angular
yarn nx generate @nrwl/angular:application --name=web --strict --style=scss --routing --viewEncapsulation=Emulated --enableIvy --unitTestRunner=jest --e2eTestRunner=cypress --linter=eslint
yarn e2e

运行 e2e 测试时出现以下错误(输出yarn e2e):

yarn run v1.22.10
$ nx e2e
No project name specified. Using default project : web
​
 ERROR  Cannot find target 'e2e' for project 'web'
​
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

如何更改工作区中的配置start-empty以便能够使用运行 e2e 测试yarn e2e?你可以运行yarn e2e web-e2e,但我不明白,为什么yarn e2e不在 NX 工作区工作,start-empty而是在start-angular.

标签: angulare2e-testingnrwl-nx

解决方案


你能试试nx e2e web-e2e吗?这是默认 e2e 项目的名称,它是web在您运行nx generate @nrwl/angular:application原理图时为具有该名称的应用程序创建的。确实,在您的项目workspace.json中将没有e2e目标web,但该项目将有一个目标,web-e2e即您要运行的 e2e 项目!


推荐阅读