小编use*_*306的帖子

NodeJS超级访问会话对象

我用supertest测试我的Node.js应用程序.在我的控制器中,我访问会话对象.为了生成有效请求,此会话对象需要填充一些数据.

调节器

        // determine whether it is user's own profile or not
        var ownProfile = userId == req.session.user._id ? true : false;
Run Code Online (Sandbox Code Playgroud)

测试

it('profile', function (done) {
    testUserOne.save(function(error, user){

        request
            .agent(server)
            .get('/profile?userId=' + user._id)
            .expect('Content-Type', /html/)
            .expect(200)
            .expect(/Profile/)
            .end(done);
    })
});
Run Code Online (Sandbox Code Playgroud)

如何模拟req/session对象?

javascript session mocha.js node.js supertest

10
推荐指数
2
解决办法
5459
查看次数

NodeJS 使用 supertest 测试 HTTPS 服务器

我读到了有关supertest 的内容。我设法测试了两条路线:

it('notAuthorized', function (done) {
    request.agent(server)
        .get('/notAuthorized')
        .expect('Content-Type', /html/)
        .expect(200)
        .expect(/Not authorized!/)
        .end(done)
})

it('redirect', function (done) {
    request.agent(server)
        .get('/no-valid-route')
        .expect('Content-Type', /plain/)
        .expect(302)
        .expect('Location', '/notAuthorized')
        .expect(/Moved Temporarily/)
        .end(done)
})
Run Code Online (Sandbox Code Playgroud)


然而,当我想访问其他页面(我需要注册的页面)时,问题就出现了。我找到了这个常规注册的解决方案:

describe('When logged in', function () {
    before(function (done) {
        // login the user
        agent
            .post('/users/session')
            .field('email', 'foobar@example.com')
            .field('password', 'foobar')
            .end(done)
    })

    // ...
})
Run Code Online (Sandbox Code Playgroud)


在我的应用程序中,我使用证书进行注册。我可以用我的证书以某种方式配置测试吗?更改我的 https 选项也不起作用:

///////////////////
// https options
var options = {
    // ...
    requestCert: false,
    rejectUnauthorized: false
};
Run Code Online (Sandbox Code Playgroud)


我认为这是因为我在每条路线 中使用的中间件:

 exports.isAuthenticated = …
Run Code Online (Sandbox Code Playgroud)

javascript https certificate node.js supertest

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

NodeJS supertest - 使用证书测试路由

我正在使用supertest测试我的NodeJS应用程序.我的应用程序要求提供证书,证书的CN是我的用户获得授权的证书.

在测试我的第一条路线时,我收到了一个错误,抱怨我的自签名证书.

我想知道在测试我的路线时是否有办法设置有效或无效的证书?

ssl node.js supertest

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

Mongoose/NodeJS定义用于保存文档的静态/方法

我想定义我自己的静态/方法来保存我的模型的文档.

我试过这个:

userSchema.statics.saveUser = function(data, callback){
    data.save(callback);
};
Run Code Online (Sandbox Code Playgroud)

它说data.save()不是一个函数.它无法识别该功能.

然后我试了这个

userSchema.statics.saveUser = function(data, callback){
    data = new userSchema(data);
    data.save(callback);
};
Run Code Online (Sandbox Code Playgroud)

userSchema不是一个函数.

mongoose mongodb node.js

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