Opt*_*tiq 1 node.js typescript angular-cli cypress nrwl-nx
我正在尝试按照NX 网站上的本教程进行操作。第二部分让我们使用 Cypress 设置 e2e 测试。我遵循了所说的一切,甚至注释掉了我的代码并将他们的代码粘贴到我的文件中。我在控制台中没有收到任何错误。我在 Node 中看到的错误说
Cypress 验证超时
该命令失败并显示以下输出:
C:.....\Cache\3.3.1\Cypress\Cypress.exe --smoke-test --ping=852
该教程还说我们的应用程序上应该弹出一个 UI,但我没有看到任何此类内容。
生成工作区和应用程序后,我们app.po.ts通过添加几个常量来修改文件,到目前为止我的看起来像这样
export const getGreeting = () => cy.get('h1');
export const getTodos = () => cy.get('li.todo');
export const getAddTodoButton = () => cy.get('button#add-todo');
Run Code Online (Sandbox Code Playgroud)
接下来它告诉我们通过添加以下内容来更新app.spec.tse2e 测试的文件
import { getAddTodoButton, getTodos } from '../support/app.po';
describe('TodoApps', () => {
beforeEach(() => cy.visit('/'));
it('should display todos', () => {
getTodos().should(t => expect(t.length).equal(2));
getAddTodoButton().click();
getTodos().should(t => expect(t.length).equal(3));
});
});
Run Code Online (Sandbox Code Playgroud)
生成的该文件的版本Nx已包含在其中
import { getGreeting } from '../support/app.po';
describe('todos', () => {
beforeEach(() => cy.visit('/'));
it('should display welcome message', () => {
getGreeting().contains('Welcome to todos!');
});
});
Run Code Online (Sandbox Code Playgroud)
我最初尝试在其下面添加额外的测试并添加新的导入。收到错误消息后,我想也许我需要将这些测试合并到一个测试中,如下所示。
describe('TodoApps', () => {
beforeEach(() => cy.visit('/'));
it('should display welcome message', () => {
getGreeting().contains('Welcome to todos!');
});
it('should display todos', () => {
getTodos().should(t => expect(t.length).equal(2));
getAddTodoButton().click();
getTodos().should(t => expect(t.length).equal(3));
});
});
Run Code Online (Sandbox Code Playgroud)
我在 Node 中仍然遇到同样的错误,并且不知道我做错了什么。在开始该项目之前,我更新了node,npm和angular cli. 我下载了Angular Console,VS Code但遇到了问题,所以我一直在使用节点终端和括号。有人可以帮忙吗?
小智 6
如果您在 Windows 中,则可以通过导航到以下地址来解决此验证超时问题:
'C:\Users\<user>\AppData\Local\Cypress\Cache\3.4.0\Cypress'
Run Code Online (Sandbox Code Playgroud)
然后双击 Cypress.exe。之后关闭它并返回到您的IDE或终端并重做引发错误的原因