JavaScript의 API 테스트 도구
공구.
다음은 JavaScript에서 API 자동화 테스트에 사용되는 일반적인 도구 목록으로, 알파벳순으로 나열되어 있습니다.
Find other options at the end.
맥박
다레드 / 맥박
RESTAPI 테스트 프레임워크.BDD 및 개발 약속
맥박
맥박이 더 이상 적극적으로 유지되지 않아 PRs가 인기를 끌고 있다
Chakram은 JSON REST 엔드포인트에 대한 엔드 투 엔드 테스트를 수행하기 위한 API 테스트 프레임워크입니다.
이 라이브러리는 BDD 테스트 스타일을 제공하고 자바스크립트의 약속인 생성된 테스트가 간단하고 뚜렷하며 표현력이 풍부하다는 것을 충분히 이용했다.맥륜은 node.js,mocha,chai와request 위에 세워진 것이다.
이 자술은 이 도서관을 소개했다.더 많은 정보를 알고 싶으시면 Chakram'sdocumentation와 tests를 방문하여 Chakram의 모든 기능을 보여 주십시오.또한 일반 액세스 API의 예제 테스트는 examples directory에서 확인할 수 있습니다.필요한 경우 프로젝트gitter chat room에서 지원을 받을 수 있습니다.
특징.
Chakram은 BDD 테스트 스타일을 제공하고 약속을 충분히 활용하는 REST API 테스트 프레임워크입니다.
맥박이 땔나무까지 뻗어 있다.js, HTTP에 대한 단언을 추가합니다.이것은 되돌아오는 상태 코드, 사용하는 압축, 쿠키, 헤더, 되돌아오는 JSON 대상과 JSON 응답 패턴을 간단하게 검증할 수 있습니다.
describe("HTTP assertions", function () {
it("should make HTTP assertions easy", function () {
var response = chakram.get("http://httpbin.org/get");
expect(response).to.have.status(200);
expect(response).to.have.header("content-type", "application/json");
expect(response).not.to.be.encoded.with.gzip;
return chakram.wait();
});
});
찬성 의견
기만하다
플라잉 디스크.js
vlucas / 플라잉 디스크
Frisby는 Jest 기반의 REST API 테스트 프레임워크로 테스트 API 단점을 간단하고 빠르며 재미있게 만든다.
플라잉 디스크
소개하다.
플라잉 디스크.js는
Jest API 엔드포인트 테스트 용이성
빠르고 재미있어요.
장치
플라잉 디스크 v2를 설치하다.NPM에서 프로젝트까지:npm install frisby --save-dev
생성 테스트
간단한 예
단일 테스트를 실행하는 데 필요한 최소 설정입니다.const frisby = require('frisby');
it('should be a teapot', function () {
// Return the Frisby.js Spec in the 'it()' (just like a promise)
return frisby.get('http://httpbin.org/status/418')
.expect('status', 418);
});
중첩은 HTTP 호출에 의존합니다.
npm install frisby --save-dev
A more complex example with nested dependent Frisby tests with Frisby's Promise-style then
method.
const frisby = require('frisby');
const Joi = frisby.Joi; // Frisby exposes Joi for convenience
describe('Posts', function () {
it('should return all posts and
…
Frisby makes REST API testing easy, fast, and fun. Frisby.js comes loaded with many built-in tools for the most common things you need to test for to ensure your REST API is working as it should, and returning the correct properties, values, and types.
const frisby = require('frisby');
it ('POST should return a status of 201 Created', function () {
return frisby
.post('http://api.example.com/posts', {
title: 'My New Blog Post',
content: '<p>A cool blog post!</p>'
})
.expect('status', 201);
});
찬성 의견
기만하다
PactumJS
pactumjs / 두꺼운 가죽
피라미드의 모든 레벨을 테스트하는 REST API 테스트 도구
PactumJS
피라미드의 모든 레벨을 테스트하는 REST API 테스트 도구
PactumJS는 e2e, 통합, 계약 및 구성 요소(또는 서비스 수준) 테스트를 자동화하는 REST API 테스트 도구입니다.그것은 외부 의존 관계의 상태를 제어할 수 있는 강력한 시뮬레이션 서버를 덧붙였다.
⚡ 스위프트
🎈 경량
🚀 단순하고 강력함
🛠️ 강제 아날로그 서버
💎 세련된 데이터 관리
🔧 확장 및 맞춤형
📚 선명하고 포괄적인 테스트 스타일
🔗 API용 구성 요소, 계약 및 E2E 테스트
문서
이 자술은 이 도서관의 기본적인 소개를 제공하였다.전체 문서를 보려면 https://pactumjs.github.io로 전화하십시오.
도움이 필요하세요?
우리는 GithubDiscussions를 사용하여 피드백을 받고 아이디어를 토론하며 질문에 대답합니다.
장치
# install pactum as a dev dependency
npm install --save-dev pactum
# install a test runner to run pactum tests
# mocha / jest /
…
PactumJS is a REST API Testing Tool for all levels in a Test Pyramid and used to automate e2e, integration, contract & component (or service level) tests.
const pactum = require('pactum');
it('should save a new user', async () => {
await pactum.spec()
.post('https://jsonplaceholder.typicode.com/users')
.withHeaders('Authorization', 'Basic xxxx')
.withJson({
name: 'bolt',
email: '[email protected]'
})
.expectStatus(200);
});
찬성 의견
기만하다
슈퍼 테스트
시각 매체 / 슈퍼 테스트
🕷 테스트 노드의 슈퍼 프록시 드라이브 라이브러리입니다.js HTTP 서버는 유창한 API를 사용합니다.
슈퍼 테스트
superagent를 통해 HTTP 단언을 단순화합니다.
정보
이 모듈의 목적은 테스트에 고급 추상을 제공하는 것이다
HTTP, 슈퍼에이전트가 제공하는 lower-level API 로 끌어내릴 수 있습니다.
개시하다
SuperNPM 모듈로 저장합니다.json 파일을 개발 종속성으로 사용하려면 다음과 같이 하십시오.npm install supertest --save-dev
Once installed it can now be referenced by simply calling require('supertest');
예.
You may pass an http.Server
, or a Function
to request()
- if the server is not
already listening for connections then it is bound to an ephemeral port for you so
there is no need to keep track of ports.
SuperTest works with any test framework, here is an example without using any test framework at all:
const request = require('supertest');
const express = require('express');
const app = express
…
SuperTest is built on a HTTP client called SuperAgent. The motivation with this module is to provide a high-level abstraction for testing HTTP, while still allowing you to drop down to the lower-level API provided by superagent.
const request = require('supertest');
const express = require('express');
const app = express();
app.get('/user', function(req, res) {
res.status(200).json({ name: 'john' });
});
describe('GET /user', function() {
it('responds with json', function(done) {
request(app)
.get('/user')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200, done);
});
});
찬성 의견
비교
#
맥박
플라잉 디스크.js
PactumJS
슈퍼 테스트
묵은 때 처리
✔️
✔️
✔️
✔️
비적석 조작
❌
❌
✔️
✔️
글로벌 요청 설정
✔️
✔️
✔️
✔️
사용자 정의 선언
✔️
✔️
✔️
✔️
예외 처리
❌
❌
✔️
❌
BDD 스타일
✔️
❌
✔️
❌
오이 받침대
❌
❌
✔️
❌
검사원
❌
✔️
✔️
❌
재시도 메커니즘
❌
❌
✔️
✔️
데이터 관리
❌
❌
✔️
❌
사용자 지정 보고서
❌
❌
✔️
❌
아날로그 서버
❌
❌
✔️
❌
계약 테스트
❌
❌
✔️
❌
기타
Reference
이 문제에 관하여(JavaScript의 API 테스트 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asaianudeep/api-testing-tools-in-javascript-22d8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)