1

API をテストするために Lab を使い始めています。API は通常の CRUD 操作を行いますが、ドキュメント ID を必要とする Update および Delete メソッドをテストするにはどうすればよいか考えています。

私の API は、新しく作成された mongo ドキュメントを 内に返しますresponse.payload。私が理解していないのは、なぜDELETEテストresultIdundefined.

これが私のコードです:

lab.experiment('User module', () => {

    var resultId; // Initialize a variable to save the document ID later.

    lab.test('should create user', (done) => {
        var options = {
            method: 'POST',
            url: '/api/v1/users',
            payload: {
                username: 'testUser',
                password: 'testPassword'
            }
        };

        server.inject(options, (response) => {
            resultId = response.payload._id; // Update resultId
            Code.expect(response.statusCode).to.equal(200);
            done();
        });
    });

    lab.test('should delete user', (done) => {
        var options = {
            method: 'DELETE',
            url: '/api/v1/users/' + resultId // Turns out resultId is undefined
        };

        server.inject(options, (response) => {
            Code.expect(response.statusCode).to.equal(200);
            done();
        });
    });

});
4

1 に答える 1