问题标签 [chutzpah]

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 投票
1 回答
193 浏览

javascript - QUnit 和 Chutzpah 的敲除错误

当我使用 QUnit 和 Chutzpah 在浏览器中运行 JavaScript 测试时遇到错误。我得到的错误是“Uncaught TypeError: Cannot read property 'nodeType' of null knockout-2.2.1.js:12”有没有人在使用 QUnit 和 Knockout 之前遇到过这个错误?当我运行我的应用程序时,我没有收到错误,所以我对它现在出现的原因有点迷茫。

谢谢!

0 投票
0 回答
188 浏览

javascript - resharper:在 js 单元测试中加载 html 资源

对于我的 .NET 解决方案,我使用 QUnit 创建了一些 javascript 单元测试,它们可以使用 Chutzpah 测试运行器从控制台完美运行。测试使用 JQuery 加载存储在子文件夹中的外部资源(html 文件)并对它们执行 dom 操作。

但是,当尝试从 Visual Studio 中的 Resharper 7 单元测试控制台运行相同的测试时,不会加载任何外部资源。显然,Resharper 正在从其自己的自定义 Web 服务器提供测试,该服务器为每个 HTTP 请求返回一个空响应。

有没有人通过配置或其他工具找到解决此问题的方法?

0 投票
1 回答
182 浏览

visual-studio - 使用最新的 TypeScript 位重新编译 Chutzpah?

我需要一种方法来测试与 Visual Studio 的测试资源管理器集成的 TypeScript 文件。为此,我找到了一个可以做到这一点的扩展, Chutzpah [codeplex]

问题是当前版本的扩展不适用于 TypeScript 泛型。

不幸的是,这不适用于泛型。我希望他们发布更新。

当我使用泛型时,它会崩溃

如果我删除泛型并将所有内容更改为any它可以正常工作而不会出现任何错误。

因此,由于它是开源的,我想知道如何更改它,以便它可以使用更新版本的 TypeScript 运行。

我怎样才能做到这一点?

0 投票
1 回答
423 浏览

chutzpah - Chutzpah 在 TFS 构建中引发异常:'executor://chutzpah-js/':找不到方法:'System.String .. get_SolutionDirectory()'

这是一个例外:

An exception occurred while invoking executor 'executor://chutzpah-js/': Method not found: 'System.String Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter.IRunContext.get_SolutionDirectory()'

其他一切都很好,并且在构建完成时报告所有单元测试成功 => 构建应该成功

但是由于这个异常,构建被认为是部分成功的,这非常令人困惑。

我一直在搜索互联网,但仍然找不到答案。请帮助我,谢谢。

0 投票
1 回答
2060 浏览

angularjs - 使用 Chutzpah + AngularJS + jasmine 测试指令

我尝试使用 Chutzpah + jasmine 来测试我的 AngularJS 代码。

这是我参考的文件

jasmine.js 版本:1.3.1

茉莉花html.js

angular.min.js 版本:1.2.0RC1

角模拟.js

警报.js

如果我不使用模板测试任何东西,它实际上可以工作。

我认为加载模板时一定有问题。

当我尝试从 AngularJS UI Bootstrap 运行 alert 指令时,我是这样做的。

我没有在下面的测试中使用这种方式,因为它适用于 Karma runner。

beforeEach(module('template/alert/alert.html'));

我使用与这篇文章不同的方法

它仍然有很多问题,但我认为模板已加载。

仅“如果未指定关闭回调,则不应显示关闭按钮”通过

大多数错误就像

TypeError: 'undefined' is not a function (evalating 'expect(alerts.eq(0)).toHaveClass('alert-success')') in ....

似乎没有创建警报。

由于第一个错误是

测试“警报:应该使用 ng-repeat 生成警报”失败预期 0 等于 3。

任何想法 ?

0 投票
0 回答
565 浏览

jquery - 使用 jasmine 和 chutzpah 测试验证器 jquery

我如何使用 chutzpah 和 jasmine 测试这种验证方法?

0 投票
2 回答
6595 浏览

selenium - PhantomJS 无法使用 selenium webdriver 找到元素

我有一个 Selenium web-driver 脚本,它只访问一个 web-element(textbox) 并将其值设置为 some value 。

我正在使用 ChutzPath,因为它在后端使用 PhantomJS 浏览器。

但是每次执行脚本,都会显示如下错误。

0 投票
1 回答
1080 浏览

knockout.js - Chutzpah 错误:对象不支持属性或方法“过滤器”

我正在尝试在我的淘汰视图模型上运行茉莉花测试,通过 chutzpah 用打字稿编写,但由于以下错误,这似乎不可能:

每当我访问淘汰赛 observable 时都会引发此错误,并且可以通过以下简单示例重新创建此错误。

我在这里做的是根本错误的事情,还是 chutzpah 与淘汰赛/打字稿组合不兼容?

更新

因此,我设法通过执行以下操作让 chutzpah 运行我的测试:

  1. 从我的项目中删除“Jasmine 测试框架”NuGet 包,并将其替换为“jasmine.js”NuGet 包。
  2. 将 jasmine specrunner.html 文件添加到我的测试目录中,该目录引用我的测试及其依赖项
  3. 在 Tools->Options->Chutzpah->Unit Test Explorer 中将测试模式设置为 HTML
  4. 从测试资源管理器窗口运行测试

这使我的测试成功运行,但是当我尝试通过右键单击->“运行 JS 测试”运行时仍然遇到相同的异常,并且我也无法调试测试。

问题似乎是我的引用都没有得到解决(过滤方法在 jquery 中定义)所以也许我需要使用 require.js 或其他一些模块加载器来解决我的依赖关系?

0 投票
6 回答
4644 浏览

angularjs - 如何在 Chutzpah 的无头浏览器中使用 templateUrl 测试指令

有谁知道如何获得像 Chutzpah 的 Visual Studio 测试适配器这样的无头浏览器来允许指令访问其 .html 模板文件?Chutzpah 使用 PhantomJS 作为无头浏览器,这似乎限制了我的选择。

我正在使用 Chutzpah 测试适配器 2.5 和 AngularJS 1.2.0-r.2。

我得到错误:

意外请求:GET myApp/directives/template.html

这是由 Angular 尝试使用 $http 服务来访问我的指令模板引起的。

我发现了一些不同的解决方法:

  1. 手动使用 XMLHttpRequest 导入模板。
  2. 使用像 Grunt 这样的实用程序将模板内联到指令的 JS 代码中。
  3. $httpBackend.when('GET', 'myApp/directives/template.html').passThrough()- 这仅适用于 e2e 测试,不适用于单元测试。
  4. 将模板直接放入测试代码中。

这些选项都没有让我特别满意。我希望能够让指令透明地加载其模板,以便我可以将其作为组件进行测试。有没有办法让这个场景工作?

示例代码:

模板.html:

茉莉花测试示例:

0 投票
0 回答
216 浏览

knockout.js - 使用 Qunit 测试 Knockout 扩展器

我正在尝试为下面的 Knockout 扩展器编写一个 qUnit 测试。我似乎走错了路,任何关于如何纠正我的单元测试的提示都将不胜感激。

单元测试: