【问题标题】:Does Karma coexist with Jasmine?业力与茉莉花并存吗?
【发布时间】:2017-09-05 09:08:22
【问题描述】:

来自网上的定义:

Karma: 是一种工具,它生成一个 Web 服务器,该服务器针对连接的每个浏览器的测试代码执行源代码。针对每个浏览器的每个测试的结果都经过检查并通过命令行显示给开发人员。

Jasmine:是一个测试js代码的开发框架。它不依赖于任何其他 JavaScript 框架。它不需要 DOM。它的语法简洁明了,因此您可以轻松编写测试。

我的问题是,Karma 是否需要 Jasmine 才能运行,Karma 是否依赖于 Jasmine,因为 Jasmine 是一个框架,而 Karma 是一个在该框架上运行并运行书面测试的工具?

我将它们都用于我的 angular2 项目。

【问题讨论】:

  • 所以我的问题的答案是肯定的?业力真的依赖茉莉花吗?离不开它?
  • 是的,答案是肯定的。 Jasmine 它附带了一个在浏览器中执行测试的 HTML 测试运行器。 Karma 使用这个浏览器来显示结果。或者你完全需要重写业力,让它只显示控制台的输出。
  • 如果您想获得积分,可以将其发布为答案。我现在明白了
  • 不,没关系,我是来帮忙不得分的。

标签: javascript angular jasmine karma-runner karma-jasmine


【解决方案1】:

Karma 是客户端测试运行程序,不依赖于 Jasmine。它完全可以在没有任何测试框架的情况下运行。

它有用于主要测试框架的插件,包括JasmineMocha

【讨论】:

  • 那我为什么需要茉莉花?为什么在 angular2 项目中集成 Jasmine?
  • Angular 是应用程序框架。 Jasmine 是测试框架。如果你不使用其中之一,你最终会用 vanilla JS 重新创建它的功能。对于 Jasmine,这意味着将使用 if (foo !== 1) throw new Error('foo not equal to 1') 而不是 it(..., () => expect(foo).toBe(1) })。所有Jasmine API 都将不可用。没有 describeitbeforeEach 块。没有断言,没有间谍。
【解决方案2】:

是的,Jasmine 和 Karma 可以共存。

  • Jasmine 是一个基于 JavaScript 的框架,我们用它来编写单元
    测试用例。茉莉花的替代品是摩卡。
  • Karma 是一个测试运行器,它在浏览器上运行单元测试用例。它可以与所有类型的单元测试框架一起使用。并且可以轻松与 Bamboo 和 Jenkins 等所有 CI 工具集成。

【讨论】:

    猜你喜欢
    • 2014-12-12
    • 2017-01-15
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多