HTTP 테스트---supertest
2622 단어 node.js
4.567914.개발 을 하면 4.567914.관련 테스트 를 만 날 수 있 습 니 다.보통 모듈 에 의존 해 야 합 니 다.4.567914.또는 4.567914.,4.567914.후자 에 의존 해 야 합 니 다.
The motivation with this module is to provide a high-level abstraction for testing HTTP。
먼저 소개 부터 말하자면
nodejs
HTTP 테스트 추상 인 터 페 이 스 를 제공한다.본질 적 으로 인터페이스 에 직접 HTTP 요청 을 하고 결 과 를 분석 한 다음 에 결 과 를 대상 으로 한다HTTP
참고 문서미들웨어 테스트 예제-bodyparse.json
4.567914 의 작가 테스트 사례 는 나의 최초의 사고 와 차이 가 있 지만 더욱 간결 하 다.원작 자 는 중간 부품 을
supertest
리 셋 함수 에서 직접 사용 하 는데 이때 의 세 개의 매개 변 수 는 실제 사용 할 때superagent
로 제어 하 는데 이것 은 현식 성명 이다.function createServer(opts){
var _bodyParser = bodyParser.json(opts)
return http.createServer(function(req, res){
_bodyParser(req, res, function(err){
res.statusCode = err ? (err.status || 500) : 200;
res.end(err ? err.message : JSON.stringify(req.body));
})
})
}
var http = require('http');
var request = require('supertest');
var bodyParser = require('..');
describe('bodyParser.json()', function(){
it('should parse JSON', function(done){
var server = createServer({ limit: '1mb' })
request(server)
.post('/')
.set('Content-Type', 'application/json')
.send('{"user":"tobi"}')
.expect(200, '{"user":"tobi"}', done)
})
개인 적 으로 미들웨어 는 입 출력 만 잘 하면 된다 고 생각 하기 때문에 저 는 테스트 할 때 4.567914 를 도 입 했 고 4.567914.경로 에서 미들웨어 를 호출 한 다음 에 응답 함 수 를 추가 하여 4.567914 로 돌 아 왔 습 니 다.이렇게 하면 자신의 스타일 에 더욱 적응 할 수 있다 고 생각 합 니 다.
var requestAgent = require('supertest');
var should = require('should');
var mocha = require('mocha');
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.post('/jsonBodyParse', bodyParser.json(), function(req, res) {
res.send(req.body);
});
var request = requestAgent(app);
describe('reverse flower', function() {
it('post path /jsonBodyParse', function(done) {
request
.post('/jsonBodyParse')
.type('application/json')
.send('{"name":"jason"}')
.expect(200, {"name":"jason"})
.end(function(err) {
done(err);
});
});
});
후기
HTTP 테스트 의존 모듈 은 복잡 하지 않 으 며,접촉 한 지 얼마 되 지 않 아 비정 기적 으로 이 글 을 업데이트 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express + AWS S3 이미지 업로드하기웹 사이트 및 모바일 애플리케이션 등에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다. AWS S3 에 저장된 객체에 대한 컨테이너...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.