问题标签 [karma-jasmine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
111 浏览

javascript - 角种子使用哪个测试匹配器库

我们使用 Angular 种子项目设置我们的 Angular 项目,并使用 jasmine 测试框架进行测试。

但是,我感到困惑和惊讶,因为很多 jasmine 文档与期望/匹配逻辑和间谍无关。

出于期望,我希望能够使用 jasmine 文档中的内容,例如:

这些都不起作用,而是看起来我必须编写 chai 类型的代码:

并且让间谍能够写出这样的期望:

但我必须写:

所以两个问题:

  1. 茉莉花匹配是否有一般建议而不是 Chai,反之亦然?哪个是社区的首选?还是种子项目没有赶上某种过渡?
  2. 作为一个新手,我更喜欢 Jasmine 匹配(特别是在使用间谍时),所以我如何进行 grunt 测试以使用 Jasmine 而不是 Chai?

此外,如果让 see 项目使用使用 Jasmine 2.0 和 1.3 的 karma-jasmine 插件,那就太好了。

谢谢。

更新

我应该注意另外两件事。我们运行的是带有 grunt 和 karma-jasmine 的测试,例如:

我们的 karma.conf.js 文件看起来像:

我认为框架:['jasmine'] 会让我们使用 jasmine,而框架:['mocha', 'chai'] 会让我们使用 chai。

0 投票
1 回答
2399 浏览

angularjs - 然后未调用已解决承诺的方法

我正在尝试使用 sinon、jasmine 和 $q 来存根一个方法。我希望该方法返回我的假数据。

问题是定义的then语句从未被调用,我不知道为什么。这已经是一个简化版本,但它仍然无法正常工作:

  • 存根被称为
  • 控制台日志Steven Stub is called被调用
  • 没有then调用任何回调
  • 没有错误信息

这是我的代码

任何想法?

0 投票
1 回答
154 浏览

gruntjs - grunt-karma 没有在 phantom js 中加载茉莉花

我(大致)有以下目录设置

并且正在使用 browserify 来捆绑 JS。

这种设置真的很痛苦,因为所有的 grunt/karma/browserify 代码都与服务器代码完全混合在一起。

我想要的是将所有内容移动到客户端目录中,例如

就捆绑 JS 代码和测试的依赖项而言,这与 browserify 完美配合。

唯一的问题是 karma 在运行测试时不再能够找到 jasmine。我将日志级别设置为调试,看起来工作设置运行:

业力连接到浏览器后。

我没有在损坏的设置中看到这些,但任务和配置是相同的。唯一真正的区别是节点模块位于客户端目录中,源代码已移至新目录。

0 投票
3 回答
4078 浏览

angularjs - 通过右键菜单在 Web Storm 中运行单个 Karma Jasmine 测试

如果测试规范Idea Web Storm在.Karmakaram.conf.js

但是,如果我右键单击 JS 文件并选择“Run MySpec.js”,我会收到以下错误:

也许不可能以这种方式运行 JS 测试。

以下是中的配置WebStorm在此处输入图像描述

正如我提到的,链接到 karma.conf.js 文件的 KT 配置工作正常。

任何帮助表示赞赏。

0 投票
1 回答
999 浏览

javascript - 使用业力和茉莉花的Angularjs基本测试用例,不起作用

我是角度测试的新手。在这里运行业力没有错误。expected(true).toBe(true) 和 expected(false).toBe(true) 给出与下面相同的输出,我不知道为什么。

业力.conf.js

测试/规范/控制器/main.js

0 投票
0 回答
901 浏览

karma-runner - 业力错误:TypeError:“未定义”不是对象

在运行 Karma 测试运行时,我看到了所有这些奇怪的错误。有任何想法吗?

[jenkins@xcclx0194 工作区]$ karma start karma.conf.js --single-run

INFO [karma]:Karma v0.12.16 服务器开始于http://jenkins.test.com:9876/ INFO [launcher]:正在启动浏览器 PhantomJS INFO [PhantomJS 1.9.7 (Linux)]:连接到套接字 287TYh_PCxnMv4F5SzII,ID 为 8378863

PhantomJS 1.9.7 (Linux) 错误

TypeError:“未定义”不是对象(评估“Toolbox.Base”)

在 /apps/devops/jenkins/home/jobs/UIMod-Jasmine-Karma/workspace/WebContent/js/controllers/common/base.controller.js:4 PhantomJS 1.9.7 (Linux): Executed 4 of 38 错误 (0.126秒/0.043 秒)

谢谢。

0 投票
1 回答
3101 浏览

angularjs - 更改子文件夹中的文件时,AngularJS grunt 服务未运行

我使用 grunt、yeoman 和 bower 创建了一个 AngularJS 应用程序。

app文件夹中,我有一个view文件夹。在里面我有很多html文件。我执行grunt serve命令来运行应用程序。我正在使用铬。当我更改任何文件(样式、脚本、图像、视图)时,chrome 会刷新页面并显示差异。

我在视图中有一个名为sub的文件夹。我在子文件夹中有一些 html 文件。它在我运行应用程序时出现。但是,如果我更改该文件夹中任何文件的内容,chrome 不会刷新。我必须手动刷新它。

这是为什么?

Gruntfile.js

业力.conf.js

业力-e2e.conf.js

0 投票
0 回答
75 浏览

angularjs - 如何将我们的服务注入角度单元测试用例?

这就是我正在做的事情,包括beforeEach(module('myApp'));根据我的知识使用的整个应用程序,它必须加载所有模块(如控制器、服务等),并且通过编写下面的代码,我应该能够注入服务preloadedData,但有些我得到了异常Error: [$injector:unpr] Unknown provider: preloadedDataProvider <- preloadedData

beforeEach(inject(function ($controller, $httpBackend, $rootScope, $window, $location, preloadedData) { scope = $rootScope.$new(); location = $location; routeParams = $routeParams; httpBackend = $httpBackend; myController= $controller('myController', { $scope: scope, $location: location, preloadedData: preloadedData }); }));

谁能帮我解决这个问题.. !!?

0 投票
0 回答
228 浏览

angularjs - 在 angularJs 中编写单元测试用例时是否必须模拟 $http 服务?

为了编写单元测试,我们是否有必要在 Angular js 中模拟 $http 服务?如果是,我们为什么要这样做?否则你能否让我知道如何在不模拟 $http 服务的情况下编写单元测试..

0 投票
2 回答
13189 浏览

node.js - Disconnected (1 times), because no message in 10000 ms using Karma-Jasmine

Using Karma runner with jasmine. After all the configuration done, I type on terminal the below command:

But I am getting the below error where my browser is getting closed.

I changed the browserNoActivityTimeout in Karma config to 50 seconds but still the same error. Its happening for both safari and chrome. I have not tried for other browsers.

I could not find much input fro other github threads on the same issue. Like changing port does not help either.

Has anyone faced the same issue?