问题标签 [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.
javascript - 在子堆栈/磁带中使用“计划”与“结束”的目的是什么?
substack 的磁带测试模块允许您使用该方法提前指定断言的数量plan
,然后它会自动end
为您调用。为什么不把end
测试放在最后呢?plan
使用, 和 和有什么区别end
?
node.js - 通过 npm test 和 jspm 运行多个测试
我正在使用jspm来管理我项目中的模块。
我想使用磁带和 ES6 语法编写测试。
我希望能够使用npm test
.
如果我jspm run test/example.js
直接从命令行运行,则测试运行。
如果我添加
到package.json
然后运行npm test
,测试运行。
到目前为止一切顺利,但我想在test
目录中有多个测试。jspm run
似乎一次只支持一个模块。
如果我替换jspm run
为babel-node
,我得到Error: Cannot find module 'tape'
。这个错误对我来说很有意义,即babel-node
不知道在哪里tape
,只知道jspm
。
那么有没有办法说npm test
“在这里运行所有这些测试,如果找不到模块,请询问 jspm”?
这是我的示例测试
这是我的目录结构。
这是我的 package.json
node.js - nodejs 和 TAPE 集成问题。应用程序初始化调用被阻止
我正在使用“磁带”为 nodejs 应用程序创建单元测试。当我运行测试时,该过程被永远阻塞。当我深入挖掘时,我发现如果我运行“nodejs mainapp.js”,这个过程并没有结束。这也阻止了单元测试的运行。
如果有注册的事件,看起来 nodejs 进程不会结束。就我而言,创建 mongo 或 redis 连接或使用节点模块(例如“node-cache”)会导致这种情况。很难想象所有这些模块都可以避免。关于如何解决问题的任何建议。我的测试用例非常简单,所以那里有问题。
顺便说一句,我已经验证了 nodejs 不会因为 http.listen 而被阻止。有人可能会争论使用模型,我不打算这样做。
javascript - 断言抛出磁带 - 节点
所以我正在尝试测试一个函数,它是一个客户端函数(未完成),这就是它嵌入到测试本身中的原因(直到我能找到更好的解决方案)。
我遇到的问题是当我测试函数是否抛出 TypeError 时。
我理解问题是因为它正在测试返回值而不是函数本身,我不确定如何解决这个问题。
任何和所有的帮助表示赞赏!
胶带
测试.js
javascript - 如何使用磁带验证错误消息?
我目前正在学习如何使用 Tape 进行单元测试。我已经能够验证我的测试中是否引发了错误。但是,我们如何验证抛出错误的消息是否等于预期的消息?
示例单元测试:
示例对象:
提前致谢!
javascript - 强制完成一个 rxjs 观察者
我有一个 rxjs 观察者(实际上是一个主题),它永远跟踪一个文件,就像 tail -f 一样。例如,监视日志文件非常棒。
这种“永远”的行为对我的应用程序来说很棒,但对测试来说却很糟糕。目前我的应用程序有效,但我的测试永远挂起。
我想强制观察者更改提前完成,因为我的测试代码知道文件中应该有多少行。我该怎么做呢?
我尝试在返回的主题句柄上调用 onCompleted,但此时它基本上被强制转换为观察者,你不能强制它关闭,错误是:
对象#没有方法'onCompleted'
这是源代码:
这是无法弄清楚如何强制永远结束的测试代码(磁带式测试)。注意“非法”行:
node.js - 如何使用磁带测试异步抛出错误的函数?
我正在尝试测试这个模块(receiver.js)是否抛出错误:
使用这个测试(test.js):
但是磁带在抛出错误之前运行断言,导致以下错误消息:
有没有解决的办法?
javascript - ES6 javascript 测试使用 Tape 和 Nightmare.js
我一直在尝试使用Tape assertions 和Nightmare.js来测试我的 ES6 代码来加载测试页面。我一直在尝试不同的 ES6 方法:async/await、yield、generators,我觉得我有点过头了。我也不确定何时何地不使用babel-tape。我可以通过以下测试,但是在我创建另一个评估块的那一刻,它就会出错。文档相当稀缺(或使用 Mocha)。这里的最佳做法是什么?
附言。我正在使用babel-tape-runner来运行测试。
javascript - 使用磁带/ES6 单元测试测试 AMD 模块?
我有一个网络应用程序使用:
- ES5
- 要求JS
- 下划线
- 骨干
- jQuery
我尝试使用以下方法设置新的单元测试套件:
- ES6
- 胶带
- 通天塔6
我的 AMD 模块 app/util/stringUtil.js:
我在tapeTest.js 中的单元测试:
我的.babelrc:
我用磁带运行测试:
我收到以下错误:
我猜磁带无法识别 AMD 模块?我能以某种方式解决这个问题吗?也许将 AMD 模块转换为 CommonJS 模块之类的?