问题标签 [frisby.js]

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 回答
1120 浏览

json - REST API 测试:HTTP Post 使用 Frisby.js 返回 500

我正在使用 Frisby.js 提交带有 JSON 数据的 POST 请求并测试 JSON 响应。但是,我的查询返回 HTTP 状态 500。相同的 POST 请求在我的命令行中的 CURL 以及 Postman 中都可以正常工作。可能是什么问题呢?

CURL 请求: curl -H "Content-Type: application/json; charset=UTF-8" -X POST -d " json_data " url

弗里斯比测试:

Frisby 的输出:

目标 URL 可能已关闭或 URL 无效,错误:ETIMEDOUT F

失败:

1) Frisby 测试:提交请求 [POST url ]

消息:预期 500 等于 200。

堆栈跟踪:

在 5.032 秒内完成 1 次测试,1 次断言,1 次失败,0 次跳过

0 投票
1 回答
741 浏览

javascript - 如何使用更多“期望”功能扩展frisby.js?

有没有办法用自定义expect方法扩展 Frisby.js 模块?我不想修改源代码,这些扩展特定于我的 REST API。我的目标是通过将它们组合成一个方法来避免重复常见的测试。

问题是 Frisby.js 模块使用以下代码导出其方法:

我如何向 Frisby 添加新方法?这更像是一个 Javascript 继承问题,因为它适用于 Node.js 模块。

例如,测试StackExchange API的脚本会有很多重复的.expect子句,比如.expectHeader()and .expectJSONTypes()。我想将这些组合成一个.expectSEwrapper()方法。此方法是 StackExchange API 独有的,因此它不属于 Frisby.js。脚本如下所示:

我想让脚本看起来更像这样:

这意味着添加一个如下所示的新方法:

但是如何从我的脚本内部将它添加到 Frisby 原型中呢?

0 投票
1 回答
230 浏览

javascript - 使用 frisby.js 或 jasmine-node 测试证书过期

我正在尝试使用 frisby.js 编写一个测试用例来检查证书的状态。测试应该在证书到期前 n 天失败,其中 n 定义在:

我用这段代码试了一下:

问题是,期望没有得到 jasmine-node 测试运行程序的验证。执行此代码

将导致:

所以断言

没有被执行。我假设,这是因为 nodejs 异步执行代码,因此测试在断言执行之前结束。

有人知道,我怎样才能强制执行这个断言并进入测试结果?

谢谢和问候,乔

0 投票
1 回答
320 浏览

jasmine - 尽管测试失败,TravisCI 通过了,在 Jasmine + Frisby 上设置了 Gulp

我正在使用gulp-jasmine-node插件运行我的 Jasmine/Frisby.js 测试,如下所示:

在本地运行gulp test我得到以下信息(仅限片段):

我的 .travis.yml:

Travis 上相应的原始 CI 输出(仅结束片段):

我不确定为什么尽管失败了构建仍然通过 - 使用 gulp 时 Travis 中是否有特定配置,具体取决于使用的测试工具?是否由于进程以代码 0 退出,如果是这样,我是否需要修改我的 gulp 命令以在失败时退出进程(不理想,因为会中断运行器中的其他任务)。

似乎找不到此问题或预先解决的相同设置。请帮忙!另外,这是我的第一个 Stack Overflow Q,所以希望我已经提供了所有需要的信息。谢谢 :)

0 投票
0 回答
284 浏览

javascript - 错误:解析 JSON 字符串时出错:意外的令牌 D 给定:目标 URL 可能已关闭或 URL 无效,错误:解析错误

我正在尝试向使用套接字创建的服务器发送 http 请求并尝试获取响应。当我使用 POST 人尝试它时,效果很好。但是当我使用 Frisby.js 尝试它时,它会显示以下错误。这是我的服务器的代码。

这是我的 Frisby.js 代码。

谁能帮我解决这个问题。

错误的屏幕截图。

在此处输入图像描述

0 投票
3 回答
1129 浏览

javascript - 如何使用 frisby 运行特定测试?

我们正在使用 frisby 来运行我们的集成测试,并且在开发它们时,执行一个特定的一个或一组测试会很方便,而不会运行所有这些测试并看到额外的噪音。现在我正在注释掉所有我不想运行的,这越来越乏味了。

有没有办法从命令行运行特定的 frisby 测试?

所以基本上,而不是

我想能够说

或类似的东西。我发现这篇关于茉莉花的帖子,但我不确定它是否能满足我的需求。

非常感谢!

0 投票
1 回答
922 浏览

node.js - 我可以输出和查看 Frisby.js 请求吗?

我开始使用 frisby.js,而且我也是 Jasmine 和 node.js 的新手。

在绊倒了我的一些第一个 frisby 测试之后,我想知道是否可以将测试中的请求输出到控制台,以便每次运行测试时我都可以验证我是否有正确的请求标头和请求正文等和

我认为当我使用 --junitreport 选项运行测试时,如果请求也包含在报告中,这可能会很有用

我最初希望使用 --verbose 运行我的测试会提供这个,但是 --verbose 似乎只输出顶级测试的请求方法和 URL,而不是使用 after() 或 afterJSON() 嵌套在它下面的任何测试,这也令人失望!

我试过四处搜索,但没有找到这个简单问题的答案,任何帮助将不胜感激,谢谢!

0 投票
4 回答
1791 浏览

javascript - Get Frisby.js tests to run synchronously

I have these API calls in my test that need to run first so I can store the response in a variable to use later. But it looks like my tests are running asynchronously so the second test finishes before the variable gets populated. How can I make the tests run synchronously?

I've heard that one way is to use before and passing the done callback. But I'm not sure how to do that with jasmine-node.

Example of test:

EDIT:

So I tried doing my test like this and the done() callback doesn't seem to get called. (The test times out)

0 投票
1 回答
142 浏览

rest - frisby:响应数据提取和条件执行

我正在尝试使用 frisby 进行一些测试或自动化。

假设我有 2 个请求需要一个接一个地执行。但是,第一个请求会创建一个资源并在标头中返回它的 URI:

所以第二次调用的方式取决于第一次调用的响应头。afterJSON()看起来很有希望,但它似乎没有处理标题。文档似乎很短,并没有提到这一点。该怎么办?

0 投票
1 回答
701 浏览

node.js - 使用量角器+jasmine进行API测试

有没有人使用量角器和茉莉花来做 API 测试。在搜索这个时,我了解到使用 frisby.js 我们可以进行 API 测试。但是,我的疑问是量角器或茉莉花是否直接支持/提供API测试功能。有人试过这个吗?如果是这样,我需要遵循什么方法?

提前致谢。