【问题标题】:Angular Unit Test - Run by module or folderAngular Unit Test - 按模块或文件夹运行
【发布时间】:2019-07-01 15:03:39
【问题描述】:

我有一个带有 Karma 设置的 Angular 项目,用于单元测试。测试和覆盖范围适用于所有规范文件,但应用程序一天比一天变大,运行所有测试让我很困扰,即使我专注于一个新模块,所以我只想运行一些我自己的测试想要检查,例如,我有一个管道文件夹,我想做的就是只运行这个文件夹中的规范文件,我知道我可以更新我的 test.ts 文件中的上下文,但我没有每次都想更新和恢复该文件...

我尝试创建一个新的 Karma 配置文件并更新了 files 属性以仅添加我想要的文件,但它不起作用。我不知道也许我做错了。 (请看下面这个文件中的部分代码

有什么解决方案或技巧可以做到这一点吗?类似于单独的业力配置(例如:karma.config.pipes.ts)文件,它会改变上下文?

// Override dev config
config.set({
  files: [
    {pattern: '../app/pipes/*.spec.ts'}
  ]
});

【问题讨论】:

标签: angular unit-testing karma-jasmine


【解决方案1】:

你可以拥有包含以下代码的 test.ts 文件

import "zone.js/dist/zone-testing";
import { getTestBed } from "@angular/core/testing";
import {
   BrowserDynamicTestingModule,
   platformBrowserDynamicTesting
} from "@angular/platform-browser-dynamic/testing";

declare const require: any;

// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting()
);
// Then we find all the tests.
// here u can specify the folder
const context = require.context("./pipes", true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

并在 tsconfig.spec.ts 中配置此文件

{
 "extends": "../tsconfig.json",
 "compilerOptions": {
 "outDir": "../out-tsc/spec",
 "baseUrl": "./",
 "module": "commonjs",
 "target": "es5",
 "types": [
   "jasmine",
   "node"
 ]
 },
 "files": [
  "test.ts"
 ],
"include": [
"**/*.spec.ts",
"**/*.d.ts",
"./polyfills.ts"
]
}

【讨论】:

  • 我的问题很清楚,我知道,我不想在每次 test.ts 时都编辑和还原,我正在寻找一种不同的方式,在那里我可以测试所有规范例如,模块或文件夹中的文件,我总是可以在不编辑 test.ts 文件的情况下测试整个应用程序。
【解决方案2】:

不确定它是否相关,但从 8.1 开始,您可以使用 --include 选项,例如:

"ng test --include=**/folder/*.spec.ts"

来源:https://angular.io/cli/test#optionshttps://blog.ninja-squad.com/2019/07/03/angular-cli-8.1/

还要确保更新您的:@angular-devkit/build-angular。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    相关资源
    最近更新 更多