Protractor 角度测试-使用带量角器的Jest

Protractor 角度测试-使用带量角器的Jest,protractor,angular8,ts-jest,Protractor,Angular8,Ts Jest,我是角度测试新手,我想为我的应用程序执行两种测试: 单元测试-我选择使用Jest,因为我可以在不打开浏览器的情况下运行测试,并且它还支持使用--testNamePatern对特定情况进行测试 端到端测试-我想试用量角器,因为它在Angular中可用,并且有一个很大的Angular社区可供使用 我的问题是,我可以在我的应用程序中同时使用玩笑和量角器吗?如果是,我是否需要配置任何东西以在我的应用程序中同时使用它们。您可以在应用程序中同时使用jest和量角器。默认情况下,新的angular cli版本

我是角度测试新手,我想为我的应用程序执行两种测试:

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

  • 我的问题是,我可以在我的应用程序中同时使用玩笑和量角器吗?如果是,我是否需要配置任何东西以在我的应用程序中同时使用它们。

    您可以在应用程序中同时使用jest和量角器。默认情况下,新的angular cli版本为您提供用于单元测试的karma runner和用于同一应用程序内端到端测试的量角器runner。你只是在开玩笑改变业力

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

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

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

  • 我可以在一个文件或一次运行中获取这两个报告吗? 不,你不能。您必须配置jest runner以打印不同于量角器报告的报告


  • 您可以使用jest和量角器,而无需配置任何特殊配置。这里是package.json的一个片段,我使用它运行带有量角器的e2e测试和带有jest的lighthouse测试

    {
      "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"
      }
    }
    

    希望有帮助。

    应该没问题。只需按照通常的方式配置这两个。不应该是一个问题,除非你在同一个项目中使用摩卡咖啡和茉莉花。这肯定会让你头疼。@tehbeardedone我可以通过更改“tsconfig.json”文件中的“类型”来让它运行起来。但是,我不知道如何在“gragrator.conf.js”中更改Jest的配置,使其具有spec reporter的属性。你能帮我做吗?对不起,我对玩笑一无所知,也不知道如何使用量角器。