标签: vows

在zsh中安装npm后找不到命令

我在zsh中通过npm 安装誓言时遇到了一些问题.这就是我得到的.我尝试使用和不使用-g选项安装它.你知道这里有什么问题吗?

[?  ~/Desktop/sauce-node-demo:master] npm install -g vows
npm http GET https://registry.npmjs.org/vows
npm http 304 https://registry.npmjs.org/vows
npm http GET https://registry.npmjs.org/eyes
npm http GET https://registry.npmjs.org/diff
npm http 304 https://registry.npmjs.org/eyes
npm http 304 https://registry.npmjs.org/diff
/usr/local/share/npm/bin/vows -> /usr/local/share/npm/lib/node_modules/vows/bin/vows
vows@0.6.4 /usr/local/share/npm/lib/node_modules/vows
??? eyes@0.1.8
??? diff@1.0.3
[?  ~/Desktop/sauce-node-demo:master] vows
zsh: command not found: vows
Run Code Online (Sandbox Code Playgroud)

谢谢

macos zsh npm vows

44
推荐指数
13
解决办法
7万
查看次数

你如何在Node.js中模拟MySQL(没有ORM)?

我正在使用Node.jsfelixge的node-mysql客户端.我没有使用ORM.

我正在测试Vows并希望能够模拟我的数据库,可能使用Sinon.由于我本身并没有真正的DAL(除了node-mysql),我不确定如何解决这个问题.我的模型大多是简单的CRUD,有很多吸气剂.

有关如何实现这一目标的任何想法?

mysql mocking node.js sinon vows

41
推荐指数
4
解决办法
2万
查看次数

V8延迟生成堆栈跟踪似乎会在vows库中导致无限循环

我花了一些时间在NodeJS测试套件中调试一个奇怪的无限循环问题.它只在罕见的条件下发生,但我可以在附加到chrome调试器时重现它.

我认为它与V8处理异常中堆栈跟踪以及vows库AssertionError对象所做的扩展(vows添加了一个toString方法)有关.我也错了,所以我想问一下我对V8实现的理解是否正确.

这是重现错误的最小示例:

$ git clone https://github.com/flatiron/vows.git
$ cd vows && npm install && npm install should

$ cat > example.js
var should = require('should');
var error = require('./lib/assert/error.js');

try {
  'x'.should.be.json;
} catch (e) {
  console.log(e.toString());
}

// without debug, it should fail as expected
$ node example.js
expected 'x' to have property 'headers' // should.js:61

// now with debug
$ node-inspector &
$ node --debug-brk example.js

// 1) …
Run Code Online (Sandbox Code Playgroud)

javascript v8 node.js vows node-inspector

11
推荐指数
1
解决办法
263
查看次数

从誓言启动服务器进行测试的正确方法是什么?

我有一个快速服务器,我正在使用誓言进行测试.我想从誓言测试套件中运行服务器,这样我就不需要让它在后台运行以使测试套件工作,然后我就可以创建一个运行服务器并测试它的蛋糕任务隔离.

server.coffee我创建了(快递)服务器,配置它,设置路线和所谓app.listen(端口)是这样的:

# Express - setup
express = require 'express'
app = module.exports = express.createServer()

# Express - configure and set up routes
app.configure ->
   app.set 'views', etc....
   ....

# Express - start
app.listen 3030
Run Code Online (Sandbox Code Playgroud)

在我的简单中routes-test.js我有:

vows    = require('vows'),
assert  = require('assert'),
server  = require('../app/server/server');

// Create a Test Suite
vows.describe('routes').addBatch({
    'GET /'     : respondsWith(200),
    'GET /401'  : respondsWith(401),
    'GET /403'  : respondsWith(403),
    'GET /404'  : respondsWith(404),
    'GET /500'  : respondsWith(500),
    'GET /501'  : respondsWith(501)
}).export(module); …
Run Code Online (Sandbox Code Playgroud)

testing node.js coffeescript express vows

10
推荐指数
1
解决办法
973
查看次数

我应该从Vows切换到Mocha吗?

我正在尝试决定是否从Vows切换到Mocha以获取大型Node应用程序.

我几乎享受了所有誓言的体验 - 但是这个论点传递只有一些奇怪的地方.我总是不得不抓住我的头脑来记住主题是如何工作的,这会干扰编写测试的基础知识.在深度嵌套的异步测试中尤其有问题.虽然我发现将Vows与async.js结合起来可以帮助一点.

所以Mocha的报道似乎更灵活.我喜欢选择测试风格的自由,重要的是它也可以在浏览器中运行,这将非常有用.但我担心它仍然无法解决深层嵌套异步测试的可读性问题.

有没有人有任何实用的建议 - 摩卡可以让深层嵌套测试可读吗?我错过了什么吗?

mocha.js node.js vows

10
推荐指数
1
解决办法
4390
查看次数

如何使用vows.js运行清理?

我正在使用Vows.js来测试一些在数据库中创建记录的node.js.因此,它在数据库中创建了一些测试记录.我想在测试运行后删除这些记录.有没有办法在Vows中运行一批测试时运行清理功能?

bdd node.js vows

8
推荐指数
1
解决办法
1588
查看次数

Node.js测试RESTful API(vows.js?)

我真的可以做一些关于测试我在node.js中创建的RESTful api的建议.那里有太多的框架,我很茫然.我的测试知识一般不够好,这就是我试图编写这些测试的原因.我已经尝试了vows.js这看起来不错,但我无法弄清楚如何合并我的API的测试,我需要某种客户端.我需要一个简单的测试登录系统的帖子的例子.

testing node.js vows

8
推荐指数
1
解决办法
6075
查看次数

node.js中的命名空间带有require

我正在玩耍并通过个人项目了解誓言.这是一个小型客户端库,在誓言中完成测试.因此,我必须构建并测试一个这样写的文件:

(function(exports) { 
    var module = export.module = { "version":"0.0.1" }; 
    //more stuff
})(this);
Run Code Online (Sandbox Code Playgroud)

在我的测试中(基于science.js,d3等)需要这样的模块:

require("../module");
Run Code Online (Sandbox Code Playgroud)

在尝试运行测试时,我继续得到"模块未定义错误",所以我去了一个repl并运行:

require("../module")
Run Code Online (Sandbox Code Playgroud)

它返回了:

{ module: { version: "0.0.1" } }
Run Code Online (Sandbox Code Playgroud)

我意识到我可以这样做:

var module = require("../module").module;
Run Code Online (Sandbox Code Playgroud)

但感觉就像我通过这种方式创建一个问题,特别是因为我基于这个项目的库是以我描述的格式进行的.

我希望我的项目行为类似于我基于它的那些项目,其中:

require("../module");
Run Code Online (Sandbox Code Playgroud)

在此命名空间中创建变量:

module.version; //is valid.
Run Code Online (Sandbox Code Playgroud)

我已经在各种库中看到了这一点,我正在遵循T的格式和思考过程,但我相信我可能会遗漏一些我不知道的需求行为.

require node.js vows

8
推荐指数
1
解决办法
1万
查看次数

测试MongooseJs验证

有谁知道如何测试Mongoose Validations?

例如,我有以下Schema(作为示例):

var UserAccount = new Schema({
    user_name       : { type: String, required: true, lowercase: true, trim: true, index: { unique: true }, validate: [ validateEmail, "Email is not a valid email."]  }, 
    password        : { type: String, required: true },
    date_created    : { type: Date, required: true, default: Date.now }
}); 
Run Code Online (Sandbox Code Playgroud)

validateEmail方法被定义为这样的:

// Email Validator
function validateEmail (val) {
    return /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(val);
}
Run Code Online (Sandbox Code Playgroud)

我想测试验证.最终的结果是我希望能够测试验证并根据发生的事情,然后我可以编写其他测试来测试这些代码片段之间的交互.示例:用户尝试使用与所用用户名相同的用户名进行注册(电子邮件已在使用中).我需要一个我可以实际拦截的测试,或者看到验证工作没有达到DB.我不想在这些测试中击中Mongo.这些应该是UNIT测试而不是集成测试.:)

谢谢!

unit-testing mongoose node.js vows expresso

7
推荐指数
1
解决办法
2819
查看次数

如何使用Vows的run()方法使用不同的记者?

Vows有一个run()方法,它在节点下运行测试,而不使用该vows命令.

https://github.com/cloudhead/vows/blob/master/lib/vows/suite.js,我们可以看到此方法采用了一个选项参数,该参数允许指定默认值以外的报告者:

this.run = function (options, callback) {
    var that = this, start;

    options = options || {};

    for (var k in options) { this.options[k] = options[k] }

    this.matcher  = this.options.matcher  || this.matcher;
    this.reporter = this.options.reporter || this.reporter;
Run Code Online (Sandbox Code Playgroud)

应该在选项对象中传递什么值以选择不同的报告者,例如spec记者?

node.js vows

3
推荐指数
1
解决办法
559
查看次数

誓言:未找到命令

我从我的应用程序的根文件夹运行我的测试.测试位于spec目录中.

$ vows  

No command 'vows' found, did you mean:
  Command 'vos' from package 'openafs-client' (universe)
  Command 'voms' from package 'voms-server' (universe)
vows: command not found
Run Code Online (Sandbox Code Playgroud)

我的package.json如下

{
  "author": "Sunil Kumar <sunilkumar.gec56@gmail.com>",
  "name": "subscription-engine-processor",
  "description": "Node.js server for Subscription Engine processor application.",
  "version": "0.0.0",
  "scripts": {
    "start": "node index.js"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "main": "./index",
  "engines": {
    "node": "~0.6.6"
  },
  "dependencies": {
    "buffers": "0.1.1",
    "redis": "0.7.1"
  },
  "devDependencies": {
    "vows": "0.6.x"
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经完成了npm install,因此我的node_modules /目录中已经安装了包含誓言的依赖模块. …

node.js vows

1
推荐指数
1
解决办法
1873
查看次数