问题标签 [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 投票
0 回答
265 浏览

typescript - Chutzpah 运行“堆栈空间不足”

我将 TypeScript 1.0 与 Visual Studio 2012、Chutzpah 3.2.1.1 和 Jasmine 2 一起使用。

我有一个非常基本的测试,使用 Visual Studio Chutzpah 测试适配器运行良好

但我希望能够在 TeamCity 上运行测试,所以我创建了一个 MSBuild 文件:

如果我的所有测试都是用 JavaScript 编写的,则运行良好,但是一旦我添加了上述 TypeScript 测试,我就会收到以下错误:

执行:错误:堆栈空间不足 [config.xml] 运行时:x.ts

如果它有所作为,我的测试在一个 Visual Studio 项目中,而我的 TypeScript 源文件是另一个项目。

如何让我的 TypeScript 测试运行?

0 投票
1 回答
3827 浏览

typescript - Chutzpah 找不到变量

我将 TypeScript 1.0 与 Visual Studio 2012、Chutzpah 3.2.1.1 和 Jasmine 2 一起使用。

我有一个非常基本的测试,可以很好地编译,但使用 Visual Studio Chutzpah 测试适配器或命令行没有通过。

我收到以下错误

ReferenceError:找不到变量:MyProject in....

我的项目结构如下:

TypeScriptProject\X.ts

测试项目\chutzpah.json

TestProject\compile.bat

TestProject\Spec\TestX.ts

由于它编译得很好,TestX.ts 中的引用应该是正确的。

我的问题似乎与在 TFS 2012 中运行 Jasmine 的 Chutzpah 不同,因为我在 Visual Studio 测试运行程序中遇到错误并且似乎在谈论使用 Team Build,所以找不到被测试的引用文件。

0 投票
1 回答
3150 浏览

chutzpah - Chutzpah 在 Visual Studio 2013 中执行参考 js 文件作为测试文件

我在 Visual Studio 2013 Update 2 中使用 Chutzpah,我正在尝试使用 jasmine 对 AngularJS 进行一些单元测试。问题是由于某种原因 chutzpan 认为我的参考 javascript 文件是要测试的文件。
无论我在哪里包含参考文件(在测试文件或 Chutzpah.json 中),我都会得到相同的错误。
例如,如果我包括:

我得到:

有什么想法我错了吗?谢谢!

更新:所以伙计们,我只是通过在测试文件和 chutzpah.json 中添加参考文件来解决问题。

0 投票
1 回答
1410 浏览

visual-studio-2013 - Chutzpah 测试适配器在哪里安装 PhantomJS?

我刚刚将 Chutzpah 测试适配器扩展安装到 VS2013,并通过 VS 的测试资源管理器运行了一个简单的 Jasmine 测试。效果很好 - 无头运行测试。

然后我尝试通过 Resharper 的测试资源管理器运行相同的测试,但没有成功。它打开了一个浏览器窗口,然后什么也没发生。

我通常更喜欢 Resharper 的测试浏览器,但我是团队中唯一使用 Resharper 的人,尽管我一直在唠叨,这就是为什么我在看 Chutzpah。所以,在这一点上,问题是我是否放弃了 Resharper 测试资源管理器,转而使用 VS2013 测试资源管理器,或者我是否可以让 Resharper's 工作。

Resharper 选项对话框允许我选择在哪个浏览器中运行测试,PhantomJS 是选项之一,但它需要 PhantomJS 可执行文件的路径。事情是这样的——我的理解是 Chutzpah 安装了 PhantomJS,但我无法弄清楚它放在哪里。

有人有想法么?

0 投票
1 回答
1839 浏览

knockout.js - 使用 Requirejs 和 knockoutjs 时,Visual Studio 的带有 Chutzpah 的测试运行程序将无法识别 QUnit 测试

我正在尝试使用 Chutzpah 让 VS 2013 测试资源管理器识别 QUnit 测试,同时我将 require.js 与 knockoutjs 结合使用

我发现下面列出了一些很好的资源,但我认为我必须只缺少一个。

这是我可以重现的内容:

  • 如果我只使用 Chutzpah 和 qunit,我可以让它工作,所以我知道我已经为 VS 测试运行器正确安装了 Chutzpah。

示例:testThatWorks.js

  • 如果在浏览器中查看 index.html,它会以正确的结果运行我的测试。
  • 如果我使用定义语法它也可以

示例:testThatAlsoWorks.js

  • 如果我使用 require 语法来包含任何其他资源,它会失败(这会加载淘汰赛但实际上并没有使用它)

示例:testThatDoesn'tWork.js

这是 VS 2013 测试资源管理器显示的内容:

在此处输入图像描述

这是相关的项目设置(我的真实项目还有其他文件,但我在这里尽量保持简单):

这是我的 chutzpah.json

这是 Chutzpah.log 文件中的超时错误

错误:错误:在运行时执行测试文件时发生超时:c:\workingfoldertfs\lesa-it\developers\whitezelb\chutzpahexample\chutzpahexample\chutzpahexample\tests\testthatdoesntwork.js vstest.executionengine.x86.exe 错误:0:时间: 12:45:01.2839495;线程:34;消息:无头浏览器返回错误:执行测试文件时发生超时

0 投票
1 回答
373 浏览

visual-studio-2013 - Chutzpah 测试适配器是否不适用于 VS 2013 Express Edition

我想使用 Chutzpah 测试适配器在 VS 2013 Express 版中运行 Jasmine 测试。我在 Web Api 项目中使用 TypeScript 和 AngularJS。

我在其他地方的 VS 2012 Ultimate 版本中成功使用了 Chutzpah 测试适配器,但我无法在工具 > 扩展和更新中获得测试适配器。此外,从 Chutzpah 站点下载的内容也不会为 VS 2013 Express 版本安装它。

如果 Chutzpah 不适用于 VS 2013 Express,有没有人知道在 VS 2013 Express 版中单元测试 TypeScript 代码的任何替代方法。

谢谢。

0 投票
1 回答
272 浏览

chutzpah - 发现单元测试时调用 PhantomJS。为什么?

从命令行运行 Chutzpah 3.2.2.0 所有测试都会在大约 40 秒内发现并执行,我认为对于分成几个文件的 100 多个单元测试来说,这是一个不错的速度:

但是,在 Visual Studio 中,要在测试资源管理器中加载测试列表需要 9-10 分钟。

使用 Process Explorer 监控 VS,我注意到进程“vstest.discoveryengine.x86.exe”在发现过程中多次调用 phantomjs.exe。

我的理解是 Chutzpah 需要 PhantomJS 在浏览器上下文中执行测试,并且仅用于测试执行。也许我误解了这里的过程。

我的 chutzpah.json 文件:

是否有任何设置可以告诉 Chutzpah:“嘿,伙计,我只需要在 VS 测试资源管理器中加载的测试列表,现在不需要编译或运行它们。”?

0 投票
0 回答
481 浏览

angularjs - 对保存在自可执行匿名函数中的 AngularJS 模块进行单元测试的最佳实践是什么

在这种情况下,我正在寻找有关最佳实践的建议。我已经创建了一个 angularjs SPA 应用程序并正在寻找为它构建一个单元测试框架。我观察到我无法获取模块的 app 对象,因为我已将所有 JS 文件包含在自执行匿名函数中。

这是我的应用程序模块

这是我加载应用程序模块的单元测试文件

我找到了一些解决方案,比如在顶部使用命名空间并将 app 变量绑定到命名空间,但这与全局打开 app 变量没有什么不同。有什么想法吗?

0 投票
1 回答
261 浏览

c# - 使用 Jasmine 对 $http 进行单元测试

我应该使用 jasmine 模拟一个 ajax 调用。

以下是我的代码片段。

我在控制器中的功能如下:

现在我得到一个错误

尝试从这个http://chutzpah.codeplex.com/workitem/230修复

但这似乎无法解决问题。有任何想法吗?

0 投票
0 回答
491 浏览

visual-studio-2013 - 使用 requirejs 和 sinon 的胆大妄为

我正在尝试使用 Qunit requirejs 和 sinon 运行 chutzpah。我已经像这样定义了 chutzpah json:

单元测试:

当我运行测试时,我总是收到以下错误:

我试图找出为什么它不起作用,但没有成功。
有谁知道我做错了什么?