问题标签 [node.js-tape]

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

javascript - 如何编写自定义断言以使用磁带测试节点或 javascript,或检查子字符串而不是 t.deepEquals()?

使用磁带,如何编写自定义断言方法来代替t.equal()?或者是否有一个测试断言方法可以检查子字符串,这样我正在测试的整个字符串就不必使用t.deepEqual()逐字比较?

当我测试 myEncode 时,我可以看到该字符串不包含子字符串,但我无法查看实际值,因为它仅评估为false,这不是信息:

通过阅读上面的测试输出,我不知道我的测试是否过于严格,或者输出实际上是不正确的。相反,我想查看 myEncode 返回的实际值以加快定位问题的速度:

0 投票
1 回答
37 浏览

node.js - 测试方法调用

我有点像黑客(即编写一些代码并手动测试功能),但现在我想通过添加一些单元测试并遵循 TDD 方法来为我的编码添加更多结构。但我正在努力构建一个验证方法的单元测试。因此,任何见解将不胜感激。

我想测试我的readDirectories方法,但由于它是异步的,我将不得不使用 setTimeout - 但我的测试不断返回错误:

测试.js

安慰

看过磁带上的例子后,我相信我做的一切都是正确的……但话又说回来,我可能只是在做一些愚蠢的事情!如何让我的测试通过???

0 投票
1 回答
18 浏览

nitrousio - Nitrous.io 路径名

我需要在浏览器中进行测试,因为我使用的是 WebAudio。好的,既然我用的是磁带,我就跑

browserify -t babelify index.js | 浏览器运行-p 3000

问题是我使用的是 Nitrous.io,所以测试抱怨:

错误:无法从“ /home/nitrous/code/mrr/source/ __mySource/test/audio/model/metronome”中找到模块“__mySource/models/audio”

所以现在我需要进入我的代码并为 Nitrous 定制所有导入。所以而不是

我现在需要破解所有导入

这显然是不可接受的。希望有一个简单的解决方案来解决这个问题。

0 投票
1 回答
1174 浏览

javascript - JS Tape - 等待上一个异步测试完成以移动到下一个测试

我是使用 TAPE JS 进行测试的新手。我已经完成了所有设置和工作,并且在常规测试中运行良好。但我正在尝试测试一个独特的基于 REST API 的产品,该产品依赖于在下一次调用获得成功调用所需的信息之前进行的某些调用。

所以这是我试图开始工作的前两个电话:

所以基本上在上面的代码中,我正在尝试测试 beginIqsSession,等待它的响应,并存储来自该响应的一段数据,以便将来的调用需要发送。

在 validateAddress 中,您会看到我正在尝试传递上一次调用中返回的 SessionId,但由于此测试与上一次测试同时运行,因此此变量仍然为空。如何拨打第二个电话以及所有未来的电话以等待前一个电话运行?

assert.plan 显然不能以这种方式工作。

0 投票
1 回答
538 浏览

javascript - Cannot unit test JavaScript functions with Tape/ Sinon

I have a module that I want to test using Tape and Sinon. Unfortunately I'm not doing very well. Here is the module code:

How could I first of all unit test that authenticateTheToken has been called? Here is my attempt: test('accessed authenticateTheToken', function (t) {

When I run the test I cam getting the following error:

0 投票
0 回答
256 浏览

unit-testing - Karma、Webpack、磁带和绝对路径问题

这是一个有趣的情况。

谜底是这样的:组件的名字是 TODO

控制器.js

查看.js

我正在使用 Karma、webpack 和磁带来测试组件。我没有将所有功能都放在视图和组件中,因为这个问题没有必要。然而,问题既简单又复杂:您如何处理应用程序中的绝对路径限制以进行单元测试

所以例子:

它将返回这种类型的错误:

./components/todo/tests/todo_spec.js 中的错误

找不到模块:错误:无法解析 /Users/username/Documents/projects/app-folder/components/todo/tests 中的模块“app-folder/components/todo/controller”

因为这条路很奇怪。现在我希望我可以做相对路径来解决这个问题......但由于它的构建方式,它是不可能的。

我无法绕开它,并且肯定在弄清楚这一点时遇到了一些麻烦。

提前感谢您提供的任何建议!

0 投票
1 回答
1550 浏览

webpack - 如何为 gulp 编写 resolve.alias 函数?

我正在使用 Gulp 和 Tape 来运行我的测试套件,而不是 Webpack 和 Tape。原因是速度和简单性。Gulp 功能性任务方法,而不是在捆绑时进行测试。

现在,为了让它工作,我需要解析导入的文件路径。

在 webpack 中,我会使用:

所以像这样:https://www.npmjs.com/package/gulp-resolve,但不是手动的。希望任务能够在测试时解析导入“...”。

有没有办法让我编写一个自定义 gulp.task 来接收文件并能够执行此功能?我不熟悉在 JS 中操作文件本身来执行此操作。

0 投票
5 回答
15903 浏览

node.js - 标准输出不是 tty。对节点 + 磁带 + Tap-spec 使用 bash

正在看磁带+点击视频并试图让它工作。
操作系统:Windows 7 Git Bash Shell

标准输出不是 tty。

主.js:

添加.js:

winpty 节点 main.js | ./node_modules/.bin/tap-spec 不能解决问题。

0 投票
1 回答
228 浏览

javascript - $.Deferred() 和 $.ajax() 在 Node.JS 中不起作用

我有以下实现。

$.extend 有效,但dfd无效ajax。知道如何使它工作吗?

错误显示:TypeError: $.Deferred is not a function TypeError: $.ajax is not a function

谢谢

编辑:(可能的解决方案,但我很害怕 jsdom 库更改如此频繁,IDK 如果以下内容有一天会像弃用的那样中断jsdom.env()

输出

0 投票
1 回答
1321 浏览

node.js - Tape Node js中的模拟方法

在 Node js 中使用磁带模拟单元测试中的方法的方法是什么?我在自述文件中没有找到任何内容。我对 Node js 很陌生,所以这个问题对某些人来说似乎很简单。

请提供一些建议。