Angular 团队在 Angular 12 中讨论了 protractor 的未来,但并没有官方宣布废弃 protractor。不过,推荐使用 @angular/cli 中的标准测试工具代替 protractor。
以下是使用 Karma 和 Jasmine 测试 Angular 应用的示例:
npm install --save-dev karma jasmine jasmine-core @types/jasmine karma-jasmine karma-chrome-launcher
npx karma init
module.export = (config) => {
config.set({
frameworks: ['jasmine'],
files: [
'src/**/*.spec.ts'
],
reporters: ['progress', 'coverage'],
coverageReporter: {
type: 'html',
dir: 'coverage/',
subdir: '.'
},
browsers: ['Chrome'],
port: 9876,
logLevel: config.LOG_INFO,
autoWatch: true,
singleRun: false,
restartOnFileChange: true,
});
};
"test": "ng test --code-coverage"
npm run test
如果需要使用 E2E 测试,请使用 Protractor 或 Cypress。