【问题标题】:Angular Testing - Using Jest with Protractor角度测试 - 将 Jest 与量角器一起使用
【发布时间】:2019-11-20 03:22:15
【问题描述】:

我是 Angular 测试的新手,我想为我的应用程序执行 2 种测试:

  1. 单元测试 - 我选择使用 Jest,因为我可以在不打开浏览器的情况下运行我的测试,并且它还支持使用 --testNamePatern 对特定情况进行测试。
  2. 端到端测试 - 我想试用 Protractor,因为它可以在 Angular 中使用,并且还有一个大型 Angular 社区可供使用。

我的问题是,我可以在我的应用程序中同时使用 Jest 和 Protractor 吗?如果是,我是否需要配置任何东西才能在我的应用程序中同时使用它们。

【问题讨论】:

  • 应该没问题。只需按照您通常的方式配置它们。除非您在同一个项目中使用 mocha 和 jasmine,否则这应该不是问题。那肯定会让你头疼。
  • @tehbeardedone 我可以通过更改“tsconfig.json”文件中的“类型”来让它运行。但是,我不知道如何更改“protractor.conf.js”中的配置,以便 Jest 拥有规范报告器的属性。你能帮我做吗?
  • 抱歉,我对 Jest 或如何使它与量角器一起工作一无所知。

标签: protractor angular8 ts-jest


【解决方案1】:

您可以在应用程序中同时使用 jest 和 protractor。默认情况下,新的 Angular cli 版本为您提供了一个用于单元测试的业力运行器和一个用于同一应用程序内端到端测试的量角器运行器。你只是在用 Jest 改变 Karma。

  1. 我可以用 jest 运行量角器测试(端到端)吗? 不,你不能。

  2. 我可以使用量角器运行单元测试吗? 不,你不能。

  3. 我可以在同一个应用程序中为端到端测试运行量角器并为单元测试运行 jest 吗? 是的你可以。您只需要告诉 jest 要拾取哪些文件,并且使用量角器也是如此。

  4. 我可以在一个文件或一次运行中获得这两个报告吗? 你不能。您必须配置您的 Jest Runner 以打印与量角器报告不同的报告。

您可以同时使用 jest 和 protractor 而无需配置任何特殊内容。这是我使用的 package.json 的 sn-p,用于使用量角器运行 e2e 测试和使用 jest 进行灯塔测试。

{
  "name": "performance-tests",
  "version": "1.0.0",
  "description": "Performance tests and end to end tests.",
  "main": "jest.js",
  "scripts": {
    "debug": "node --inspect-brk ./node_modules/.bin/protractor protractor.conf.js",
    "pretest": "npm run tsc && npm run webdriver-update",
    "e2e": "npm run tsc && ./node_modules/protractor/bin/protractor protractor/compiled-js-files/protractor.conf.js",
    "grid": "sh run-grid.sh && npm run e2e",
    "tsc": "./node_modules/typescript/bin/tsc",
    "webdriver-update": "./node_modules/protractor/bin/webdriver-manager update --standalone --versions.standalone=3.8.0 --chrome --versions.chrome=78.0.3904.97",
    "lighthouse": "./node_modules/jest/bin/jest.js --verbose -t=lighthouse",
    "lighthouse-reports": "./node_modules/jest/bin/jest.js --verbose -t=lighthouse && node ./lighthouse/db.js"
  },
  "repository": {
    "type": "",
    "url": ""
  },
  "author": "Sankalan Parajuli",
  "license": "ISC",
  "bugs": {
    "url": ""
  },
  "homepage": "",
  "dependencies": {
    "@types/jasmine": "^3.3.12",
    "@types/jasminewd2": "^2.0.6",
    "@types/node": "^12.12.14",
    "jasmine": "^3.3.1",
    "lighthouse": "^4.0.0-beta",
    "protractor": "5.4.2",
    "protractor-beautiful-reporter": "^1.3.3"
  },
  "devDependencies": {
    "@types/request": "^2.48.3",
    "@types/selenium-webdriver": "^4.0.0",
    "csvtojson": "^2.0.8",
    "jest": "^23.4.1",
    "moment": "^2.24.0",
    "mongodb": "^3.1.13",
    "puppeteer": "^1.6.0",
    "request-promise": "^4.2.5",
    "ts-node": "^8.5.2",
    "typescript": "2.8.1"
  }
}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多