【问题标题】:Angular 2-final -- Getting started with Karma & JasmineAngular 2-final -- 开始使用 Karma 和 Jasmine
【发布时间】:2016-09-29 08:09:14
【问题描述】:

我有一个 Angular 2.0.0 应用程序。但我想测试一下。现在,我对 Karma 和 Jasmine 框架完全陌生。

目前似乎没有关于如何使用 Karma 和 Jasmine 测试 Angular 2.0.0 最终版本的好的指南。

现在我开始进行 Jasmine 测试。但我似乎无法让 Karma 工作。它一直说0/0 ERROR。

所以我想知道。有人有关于 Angular2.0.0 的karma.conf.js 文件和karma-test-shim.js 文件的基本设置的工作示例吗?

Issue getting Karma 1.1.0 and Angular 2 tests working 这似乎是同一个问题,虽然答案是angular-2.0.0-rc1,我正在寻找最终版本。

【问题讨论】:

  • Angular 最近更新了他们的文档testing section。与以前相比,它的负载相当大。
  • 是的,但他们只是说“创建设置文件”并且不提供这些文件的任何内容。他们希望你知道。
  • 我认为有他们使用的示例设置文件的链接。链接是quickstart project

标签: unit-testing angular jasmine karma-runner karma-jasmine


【解决方案1】:

我以前有过0/0 Error。这是因为karma.conf.js 设置实际上并未指向任何测试文件。

在我的项目中,我的结构如下所示:

.
+-- src
|   +-- app
|   |   +-- *.spec.ts
|   +-- config
|   |   +-- karma.conf.js
|   |   +-- test.ts

karma.conf.js 有一个files: [{pattern: './test.ts'}] 块。

然后,在您的 test.ts 文件中,确保表达式与您的测试位置相匹配:

 // Then we find all the tests.
.then(() => require.context('../', true, /\.spec\.ts/))

因此,您希望确保 require.context() 与您的测试所在的位置以及您用来表示它们的符号相匹配。希望这会有所帮助!

【讨论】:

  • 你是对的,将正则表达式更改为我的需要。现在执行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
  • 1970-01-01
  • 2016-07-18
  • 2019-01-03
  • 2017-11-08
  • 2015-12-07
相关资源
最近更新 更多