【发布时间】:2021-09-01 07:39:15
【问题描述】:
我正在编写 UI 测试,我正在努力将我的测试分解为更小的测试,而不是进行一次长时间的测试。我使用faker来生成所有需要的数据,这样我就不用添加fixture了。 我当前的工作测试如下所示:
/// <reference types="cypress" />
import "cypress-audit/commands";
describe("Full system test", () => {
before(function () {
this.User = require("../../faker/user");
});
it("Registers and creates profile", function () {
cy.visit(Cypress.env("home_page"));
cy.Register({});
cy.UpdateProfile({});
cy.AddCompanyDetails({});
cy.AddTeamMember({});
cy.CreateVacancy({});
cy.AddCandidate({});
cy.AddAdditionalDocs({});
});
});
我想做的是这样的测试:
/// <reference types="cypress" />
import "cypress-audit/commands";
describe("Full system test", () => {
before(function () {
this.User = require("../../faker/user");
});
it("Registers and creates profile", function () {
cy.visit(Cypress.env("home_page"));
cy.Register({});
cy.contains("Vacancies").click();
cy.UpdateProfile({});
cy.contains("Vacancies").click();
cy.AddCompanyDetails({});
cy.contains("Vacancies").click();
cy.AddTeamMember({});
});
it("Creates a vacancy and adds candidates", function () {
cy.CreateVacancy({});
cy.AddCandidate({});
cy.AddAdditionalDocs({});
});
我遇到的问题是,如果我像在第二个示例中那样分解它,faker 将生成新数据。此外,每次添加新测试时,我都需要重新登录。有没有办法让我继续上次测试结束的地方? 我想这样做的原因是因为我想看到测试工具中的测试被分解,这样更容易准确地看到失败的地方,而不是每次都必须解决它。有没有更简单的方法来做到这一点?
我希望它在测试工具中看起来像这样:
【问题讨论】:
标签: javascript testing cypress