Javascript Zombie.js-如何在DB上检查表单提交的结果?

Javascript Zombie.js-如何在DB上检查表单提交的结果?,javascript,node.js,mongoose,mocha.js,zombie.js,Javascript,Node.js,Mongoose,Mocha.js,Zombie.js,目标:使用Mocha、Zombie.js和Mongoose,我正在尝试测试注册表单。我希望确保使用以下代码将用户添加到数据库: describe('User Signup', function() { before(function(done) { //setup db connection and browser conn = mongoose.connect('mongodb://localhost', function(err) { browser = new

目标:使用Mocha、Zombie.js和Mongoose,我正在尝试测试注册表单。我希望确保使用以下代码将用户添加到数据库:

describe('User Signup', function() {

  before(function(done) { //setup db connection and browser

    conn = mongoose.connect('mongodb://localhost', function(err) {

      browser = new Browser({site: 'http://localhost:3000'});
      done();

    });

  });

  before(function(done) { //go to signup page

    browser.visit('/user/signup', done);

  });

  it('can signup a new user', function(done) {

    browser.fill("input[name='username']", 'johnDoe');
    browser.fill("input[name='pwd']", 'password');
    browser.fill("input[name='pwd_retype']", 'password');
    browser.fill("input[name='city']", 'New York, NY');
    browser.pressButton('#signup-submit').then(function() {

      chai.assert.isOk(browser.success);

      UserModel.findOne({username: 'johnDoe'}, function(er, usr) {

        chai.assert.ifError(er);
        chai.assert.isNotNull(usr); //check if user was added to DB
        done();

      });

    });

  });

});
问题:用户被添加到数据库中,但它被添加为空白用户(没有用户名、密码等)。我检查了处理请求的路由器,并放置了一个
console.log
打印用户名,查看zombie.js是否填写表单字段,但字段打印为空。我得到以下输出:

因此,当mocha测试第一次运行时,我得到一行
savetrument FOR:
,其中用户名值为空。但是,当我更改文档并保存时,我会再次获得输出,除非使用正确的值
save-trument FOR:johnDoe

我不明白为什么在保存js文件时会再次发送请求。当然,这是在我的测试评估之后发生的。有人知道问题出在哪里吗