我有一小套量角器测试。在测试中,我有一些从公共基类扩展的页面对象类。在我的量角器配置中,我有:
specs: [
'./showcase/e2e/**/*.e2e-spec.ts'
]
如果我使用此配置运行Protractor,则运行所有测试。但是,如果我尝试运行单个测试,则会遇到错误。
我正在尝试使用此命令运行特定测试:
protractor --specs showcase/e2e/app/components/dropdown/dropdown.e2e-spec.ts
但后来我收到了一个错误:
Error: TSError: ⨯ Unable to compile TypeScript
showcase/e2e/shared/components/dropdown/dropdown.po.ts (3,32): Property 'setPrototypeOf' does not exist on type 'ObjectConstructor'. (2339)
以下是dropdown.po.ts
的内容:
import { ExamplePage } from '../example.po';
export const COMPONENT_ID = 'dropdown';
export class DropdownPage extends ExamplePage {
navigateTo() {
this.navigateToComponentPage('dropdown');
}
}
我必须缺少一些东西。当我尝试运行单个测试用例时,我知道为什么会出现此错误,但是当我运行所有内容时没有错误?我很难过。
答案 0 :(得分:1)
您错过了在命令行中指定量角器conf:
protractor --specs showcase/e2e/app/components/dropdown/dropdown.e2e-spec.ts
正确的应该是:
protractor conf.js --specs showcase/e2e/app/components/dropdown/dropdown.e2e-spec.ts
答案 1 :(得分:0)
您应该运行*.js
个文件而不是直接*.ts
。在运行测试之前,请使用tsc
将打字稿代码编译为javascript。
答案 2 :(得分:0)
我找到了必要的解决办法。
在这种情况下,我需要将以下内容添加到tsconfig.json
:
"lib": [
"es2016",
"dom"
]