0

我正在尝试按照NX 网站上的本教程进行操作。第二部分让我们使用 Cypress 设置 e2e 测试。我按照所说的一切进行操作,甚至注释掉我的代码并将他们的代码粘贴到我的文件中。我在控制台中没有收到任何错误。我在节点中看到的错误说

赛普拉斯验证超时

此命令失败,输出如下:

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');

接下来它告诉我们app.spec.ts通过添加这个来更新 e2e 测试的文件

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));
  });
});

生成的这个文件的版本Nx已经在里面了

import { getGreeting } from '../support/app.po';

describe('todos', () => {
  beforeEach(() => cy.visit('/'));

  it('should display welcome message', () => {
    getGreeting().contains('Welcome to todos!');
  });
});

我最初尝试在它下面添加额外的测试并添加新的导入。在收到错误消息后,我想也许我需要将测试组合成一个看起来像这样的测试。

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));
  });
});

我仍然在 Node 中遇到同样的错误,并且不知道我做错了什么。在开始项目之前,我更新node了. 我下载了但遇到了问题,所以我一直在使用节点终端和支架。任何人都可以帮忙吗?npmangular cliAngular ConsoleVS Code

4

1 回答 1

3

如果您在 Windows 中,则可以通过导航到以下位置来解决此验证超时问题:

'C:\Users\<user>\AppData\Local\Cypress\Cache\3.4.0\Cypress'

然后只需双击 Cypress.exe。在此之后关闭它并返回您的 ide 或终端并重做引发错误的内容

于 2019-07-24T09:39:52.723 回答