问题标签 [vows]
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.
node.js - 当包含的应用服务器使用 nodejs cluster.fork 时,誓言单元测试被多次执行
我的应用服务器使用 node.js 集群 API cluster.fork() 来分叉多个子进程。这工作正常。
但是,当我尝试使用 vows 进行单元测试时,由于在我的应用服务器中调用了 cluster.fork(),测试也运行了多次;当我在测试代码中实例化服务器时,如下所示:
基本测试.js
在这种情况下,如何防止测试代码多次运行?这个测试包含在 npm 测试中,所以我需要一种方法来在测试本身中实例化我的应用服务器。
vows - 如何在 flatiron 中测试 HTTP 服务器
我正在使用flatiron网站上的尽可能简单的 Web 服务器,并想尝试用誓言测试它。我可以让测试通过,但测试永远不会退出。我认为这是因为我的熨斗服务器从不关闭。如何关闭服务器或有更好的方法使用另一种技术进行简单的 http 测试?
服务器.js
服务器-test.js
javascript - Vows JS 测试未定义
我正在尝试使用 vows js 来创建单元测试。当“主题”是“未定义”时,我遇到了麻烦。请看下面的例子:
这不是确切的代码,但它是它的要点。当我运行测试时,我得到“回调未触发”。单步浏览 vows 的代码,我可以看到它在 topic 为undefined
.
最终我想知道如何编写单元测试来做到这一点。我团队中的其他人写了我认为是 hack 的东西,并在主题中做了断言并返回true
or false
if topic === undefined
。
javascript - 异步主题范围誓言.JS
我无法将父topic
值传递给子topic
值。代码是异步的,我认为这就是我遇到问题的地方。我希望 JSON 响应的一部分成为下面测试的主题。这是测试的相关部分。
console.log(res.statusCode)
产生 undefined 并尝试登录topic
“应该有一个大于 0 的长度”产生[SyntaxError: Unexpected token u]
。
我可以这样做吗?如果是这样,怎么做?
javascript - 使用 Vows.js 进行集合测试
我正在尝试使用 Vows.js 对集合中的每个项目运行单元测试,并且我花了很多时间让它工作。这是我目前所拥有的。
这似乎正在工作。但是,当我运行测试时,我得到了 34 个通过和 1 个错误。Vows 并没有指出哪个测试出错了。我不觉得使用 anEventEmitter
是正确的选择,但我不确定如何为给定集合中的每个对象创建一个新主题。
javascript - 我对 vows.js 子主题的使用有什么问题?
出于某种原因,我似乎无法让 vows.js 子主题在我的真实测试套件中工作,但它们在示例文件中工作正常......你能发现我的问题吗?
这有效:
当我通过以下方式运行时:
我得到:
这不起作用:
我有一个文件 ./tests/smoke.js
当我通过以下方式执行此操作时:
我得到:
请注意,在第二个示例中,没有我得到的子主题:
node.js - 使用 grunt-vows 时 grunt.js 抛出错误
我在以下 gruntfile 中 使用 grunt-vows ( https://github.com/CMTegner/grunt-vows ):
运行时出现以下错误grunt
:
TypeError: Object #<Object> has no method 'options'
at Object.<anonymous> (/home/dan/playlist/node_modules/grunt-vows/tasks/vows.js:32:33)
at Object.<anonymous> (/usr/lib/node_modules/grunt/lib/grunt/task.js:109:15)
at Object.thisTask.fn (/usr/lib/node_modules/grunt/lib/grunt/task.js:58:16)
我确信我在某个地方犯了一个简单的错误,在 gruntfile 中是否有任何不合适的地方?
在此先感谢,
丹
node.js - 如何使用 vows 测试此功能?
如何使用 vows.js 干净地测试以下函数,该函数旨在基于对象层次结构向 express.js 应用程序添加路由,而不会破坏誓言对主题和誓言的分离?
测试应确认在 app 对象上调用了对应于 http 动词的函数。例如,如果 routeObject 是:
然后
应该调用。
node.js - 将批处理异步添加到 Vows 套件
我有一些这样的代码。这个想法是我正在从文件中读取夹具数据并使用每个文件中的数据来添加一个批次:
显然vows test.js
没有找到任何测试,因为批次是异步添加的。我不知道如何使这项工作。我想使用vows
能够使用记者。