单独的package.json用于角度e2e测试吗?

时间:2019-11-27 18:46:45

标签: angular jasmine jestjs e2e-testing angular-e2e

我在项目中使用Angular 8。是否可以使用单独的package.json文件进行e2e测试?我正在使用jest进行单元测试,使用protractor+jasmine进行e2e。因此,我无法将jasmine上的package.json完全删除。因此,我经常在打字方面遇到问题

我想要得到什么:

  1. 当我位于主项目中的.spec文件中时 expect(someFuncCall()).toMatchSnapshot()应该正常工作,jasmine应该无效

  2. 当我位于e2e文件夹内的.spec文件中时 toMatchSnapshot()应该给出错误,而jest应该无效

当然,所有用于测试的IDE智能感知应该取决于项目类型:e2e / main

1 个答案:

答案 0 :(得分:1)

寻找相同的东西时偶然发现了这个老问题。

在我们的项目中,我们使用jest进行正常组件测试,并使用量角器+茉莉花进行e2e测试。可以通过单独的package.json进行e2e测试。

  • /e2e文件夹中,手动添加一个具有所需依赖关系的package.json文件。
  • 您可以像往常一样在其中运行npm i(在其中创建一个node_modules文件夹和package-lock.json
  • 我们用于此目的的tsconfig.e2e.json文件如下所示:
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "",
    "outDir": "../out-tsc/e2e",
    "module": "commonjs",
    "target": "es5",
    "types": [
      "jasmine",
      "node"
    ],
    "allowJs": true,
    "importHelpers": true,
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "typeRoots": [
      "node_modules/@types",
      "../node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ],
  },
  "exclude": [
    ...
  ]
}

我不想用太多的东西弄乱这篇文章。如果有什么遗漏,我将很乐意发布其他信息(package.json,protractor.conf等)。