JavaScript의 API 테스트 도구

API 테스트는 API가 예상한 대로 작동하는지 확인하는 소프트웨어 테스트입니다.API는 이제 애플리케이션 논리의 주요 인터페이스이기 때문에 자동 테스트에 매우 중요합니다.

공구.


다음은 JavaScript에서 API 자동화 테스트에 사용되는 일반적인 도구 목록으로, 알파벳순으로 나열되어 있습니다.
  • Chakram
  • Frisby.js
  • PactumJS
  • SuperTest
  • Find other options at the end.


    맥박


    다레드 / 맥박


    RESTAPI 테스트 프레임워크.BDD 및 개발 약속


    맥박



    맥박이 더 이상 적극적으로 유지되지 않아 PRs가 인기를 끌고 있다
    Chakram은 JSON REST 엔드포인트에 대한 엔드 투 엔드 테스트를 수행하기 위한 API 테스트 프레임워크입니다.
    이 라이브러리는 BDD 테스트 스타일을 제공하고 자바스크립트의 약속인 생성된 테스트가 간단하고 뚜렷하며 표현력이 풍부하다는 것을 충분히 이용했다.맥륜은 node.js,mocha,chairequest 위에 세워진 것이다.
    이 자술은 이 도서관을 소개했다.더 많은 정보를 알고 싶으시면 Chakram'sdocumentationtests를 방문하여 Chakram의 모든 기능을 보여 주십시오.또한 일반 액세스 API의 예제 테스트는 examples directory에서 확인할 수 있습니다.필요한 경우 프로젝트gitter chat room에서 지원을 받을 수 있습니다.

    특징.

  • HTTP 특정 단언.테스트 허용
  • 상태 코드
  • 과자의 존재와 가치
  • 수확대 존재와 가치
  • JSON 값
  • JSON 구조(사용JSON schema specification)
  • 압축
  • 응답 시간
  • BDD 형식 및 연결(예: 앞, 뒤)
  • 약속 기준
  • 플러그인...
  • View on GitHub
    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();
      });
    }); 
    

    찬성 의견

  • 사용 편이성
  • 간단한 테스트 스타일
  • 확장성 및 맞춤형 구성
  • 기만하다

  • API 링크 비주얼
  • 플라잉 디스크.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 호출에 의존합니다.

    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);
    });
    

    찬성 의견

  • 사용 및 설정 용이
  • 양호한 지역사회 지원
  • 확장성 및 맞춤형 구성
  • 기만하다

  • 때만
  • API 링크 비주얼
  • PactumJS


    pactumjs / 두꺼운 가죽


    피라미드의 모든 레벨을 테스트하는 REST API 테스트 도구



    PactumJS







    피라미드의 모든 레벨을 테스트하는 REST API 테스트 도구



    PactumJS는 e2e, 통합, 계약 및 구성 요소(또는 서비스 수준) 테스트를 자동화하는 REST API 테스트 도구입니다.그것은 외부 의존 관계의 상태를 제어할 수 있는 강력한 시뮬레이션 서버를 덧붙였다.

  • ⚡ 스위프트

  • 🎈 경량

  • 🚀 단순하고 강력함

  • 🛠️ 강제 아날로그 서버

  • 💎 세련된 데이터 관리

  • 🔧 확장 및 맞춤형

  • 📚 선명하고 포괄적인 테스트 스타일

  • 🔗 API용 구성 요소, 계약 및 E2E 테스트

  • 문서


    이 자술은 이 도서관의 기본적인 소개를 제공하였다.전체 문서를 보려면 https://pactumjs.github.io로 전화하십시오.
  • API Testing
  • Integration Testing
  • Component Testing
  • Contract Testing
  • E2E Testing
  • 도움이 필요하세요?


    우리는 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);
    });
    

    찬성 의견

  • 경량
  • 활약과 성장
  • 단순하고 강력
  • 강제 아날로그 서버
  • 우아한 데이터 관리
  • 고급 재시도 메커니즘
  • 확장성 및 맞춤형 구성
  • 선명하고 포괄적인 테스트 스타일
  • 원료약의 성분, 계약 및 E2E 테스트
  • 기만하다

  • 제한된 커뮤니티 지원
  • 슈퍼 테스트


    시각 매체 / 슈퍼 테스트


    🕷 테스트 노드의 슈퍼 프록시 드라이브 라이브러리입니다.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 스타일
    ✔️

    ✔️

    오이 받침대


    ✔️

    검사원

    ✔️
    ✔️

    재시도 메커니즘


    ✔️
    ✔️
    데이터 관리


    ✔️

    사용자 지정 보고서


    ✔️

    아날로그 서버


    ✔️

    계약 테스트


    ✔️

    기타

  • autokin
  • freddo
  • just-api
  • ply
  • teakozi
  • 좋은 웹페이지 즐겨찾기