我的测试是从命令行传递的,但是我使用typescript
编辑了Atom
来源。
当我在编辑器中打开其中一个测试文件时,我发现此行有错误:
expect(pageObject.name.getText()).toEqual('Some name');
这是错误:
Typescript
Error
Argument of type '"Some name"' is not assignable to parameter of type 'Expected<Promise<string>>'.at line 16 col 50
为什么这会在我的编辑器中显示?然而测试通过了。
运行量角器测试的命令:
protractor dist/protractor.config.js
来自package.json
"dependencies": {
"typescript": "2.3.3"
},
"devDependencies": {
"@types/jasmine": "2.5.45",
"@types/node": "^7.0.13",
"jasmine-core": "^2.6.0",
"jasmine-spec-reporter": "^4.1.0",
"protractor": "^5.1.2"
}
tsconfig.fvt.test.json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"noUnusedLocals": true,
"moduleResolution": "node",
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noUnusedParameters": true,
"outDir": "dist",
"skipLibCheck": true,
"target": "ES5",
"lib": [
"dom", "es5", "es6", "scripthost"
],
"types": ["jasmine"]
},
"include": [
"protractor.config.ts",
"test/e2e/**/*.ts"
]
}
答案 0 :(得分:2)
答案 1 :(得分:1)
目前,您可以尝试
npm i "@types/jasminewd2" -D
并在您的 tsconfig.json jasminewd2
compilerOptions.types
我用量角器遇到了这个问题。这是打字错误。这是issue link。
答案 2 :(得分:0)
因为它是一个 async
方法只需更改
来自expect(pageObject.name.getText()).toEqual('Some name');
到expect(await pageObject.name.getText()).toEqual('Some name');