如何将 ng-mocks 添加到新的 Angular 15 项目

jan*_*rgh 2 angular ng-mocks

我最近使用最新的 Angular 15 CLI 创建了一个新的 Angular 项目。现在我想向其中添加 ng-mocks。

我可以安装依赖项,但不再有test.ts可以添加 ng-mocks 配置的文件。当我自己添加文件时,不再找到我的测试。

将 ng-mocks 添加到 Angular 15 项目而不使用 的正确方法是什么test.ts

sat*_*ime 9

nowtest.ts是由 angular( node_modules/@angular-devkit/build-angular/src/builders/karma/index.js) 生成的,如果你想自定义它,你需要执行以下操作:

创建src/test.ts并放在那里:

import { getTestBed } from '@angular/core/testing';
import {
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting,
} from '@angular/platform-browser-dynamic/testing';

// Initialize the Angular testing environment.
getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
  errorOnUnknownElements: true,
  errorOnUnknownProperties: true
});
Run Code Online (Sandbox Code Playgroud)

然后将其添加到angular.json

        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts", // <- here
            "polyfills": [
              "zone.js",
              "zone.js/testing"
            ],
            "tsConfig": "tsconfig.spec.json",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          }
        }
      }
Run Code Online (Sandbox Code Playgroud)

并将其添加到tsconfig.spec.ts

  "include": [
    "src/test.ts", // <- here
    "src/**/*.spec.ts",
    "src/**/*.d.ts"
  ]
Run Code Online (Sandbox Code Playgroud)

利润,现在您可以test.ts再次延期。