在我的lib文件夹中,我想为每个单独的组件(如lib/e2e/pages/Loginpage.ts
)创建e2e页面。我还在e2e
目录中获得了一个index.ts文件,该文件导出了Loginpage.ts
。我在libs/auth/
目录中也有一个index.ts文件,该文件将e2e
文件夹中的index.ts导出。我在根目录中修改了tsconfig.json
之类的"@MY_APP/auth/*": ["libs/auth/src/lib/*"],
。别忘了,我在libs/auth/tsconfig.json
中更新了类型数组
"types": ["cypress", "jest", "node"]
。赛普拉斯是我进行e2e测试所需的库。因此,在编写测试时没有错误。但是,当我编译代码时,出现错误:libs/auth/src/lib/e2e/pages/LoginPage.ts(17,5): error TS2304: Cannot find name 'cy'.
我试图将lib包含在tsconfig.lib.json
中,例如:"include": ["src/**/*.ts", "../../node_modules/cypress"]
。没有工作。
我试图将其直接导入文件import cy from 'cypress'
中。没有工作。
LoginPage.ts
export class LoginPage {
constructor() {
cy.get('[test-id=content][page-id=login]');
}
public switchMode() {
cy.get('[test-id=switch-mode] button').click();
}
public fillSignup(email, password) {
cy.get('[test-id=signup] input[type="email"]').type(email);
cy.get('[test-id=signup] input[test-id="password"]').type(password);
cy.get('[test-id=signup] input[test-id="password-confirm"]').type(password);
}
e2e目录中的index.ts
export * from './pages/LandingPage';
lib目录中的tsconfig.json
"extends": "../../tsconfig.json",
"compilerOptions": {
"types": ["cypress", "jest", "node"]
}
}
libs / auth目录中的index.ts
export * from './lib/e2e/index';