JavaScript API 자동화 테스트 - 사용할 라이브러리/프레임워크는 무엇입니까?
9737 단어 beginnerstestingwebdevjavascript
우리는 API 테스트를 수행하고 있으므로 프로그래밍 방식으로 HTTP 호출을 수행할 수 있는 방법이 필요합니다.
SuperTest npm 패키지를 사용합니다.
슈퍼테스트
SuperTest는 기본적으로 HTTP 요청을 할 수 있게 해주는 SuperAgent 위에 구축되었으며 SuperTest는 이러한 HTTP 요청을 테스트하기 위한 높은 수준의 추상화를 제공합니다. 예를 살펴보겠습니다.
const request = require('supertest');
request()
.get('/user') // access user route
.expect('Content-Type', /json/) // verify the content type
.expect('Content-Length', '15')
.expect(200) // verify the status code
.end(function(err, res) {
if (err) throw err; // any additional code
});
이러한 expect 명령을 연결하기만 하면 어설션을 쉽게 추가할 수 있습니다. 이런 방식으로 테스트를 계속 작성할 수 있지만 테스트를 그룹화하거나 개별 테스트를 실행할 수 있는 더 나은 방법이 필요하며 이를 위해서는 일종의 테스트 프레임워크가 필요합니다.
모카제이에스
Mocha JS 은 노드 js에서 실행되는 매우 인기 있는 JavaScript 테스트 프레임워크입니다. Mocha 테스트 프레임워크로 사전 빌드된 많은 기능을 얻을 수 있습니다.
기본 Mocha JS 예제를 살펴보겠습니다.
describe('Array', function () { // describe block allows you to group your tests
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () { // it block is where you will run your test
// any verification here...
});
});
});
이제 SuperTest를 사용하여 Mocha 테스트가 어떻게 보이는지 살펴보겠습니다.
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);
});
});
SuperTest
request
블록을 가져와 it
블록 안에 넣었습니다. 같은 방식으로 다양한 테스트 시나리오에 대해 여러 블록it
을 생성할 수 있습니다.이제 모든 테스트에서 무언가가 작동하는지 여부를 확인해야 하며 이를 위해 어설션을 사용할 수 있습니다.
차이 JS
Chai는 모든 테스트 프레임워크(이 경우 Mocha JS)와 쌍을 이룰 수 있는 노드 및 브라우저용 어설션 라이브러리입니다. Chai는 기본적으로 어설션을 작성하는 다양한 방법인 여러 인터페이스를 제공하므로
should
, expect
및 assert
가 있습니다. 따라서 사용하기 편한 스타일을 테스트에 사용할 수 있습니다.몇 가지 Chai 어설션 예제를 살펴보겠습니다.
// Using chai.should();
foo.should.be.a('string');
foo.should.equal('bar');
// Using chai.expect
expect(foo).to.be.a('string');
expect(foo).to.equal('bar');
// Using chai.assert
assert.typeOf(foo, 'string');
assert.equal(foo, 'bar');
이제 어설션을 추가하면 문제 없이 테스트 작성을 시작할 수 있습니다. 그러나 실행 중인 모든 테스트의 보고서를 확인하고 각각의 통과/실패 상태를 확인하는 방법이 필요합니다.
좋은 점은 이 간단한 터미널 결과 보기를 제공하는
spec reporter
인 사전 구축된 리포터가 Mocha와 함께 제공된다는 점입니다.시작할 때는 충분하지만 mochawesome 리포터를 사용하여 멋진 HTML 리포터를 구현할 수도 있습니다.
모차썸
Mochawesome은 멋지고 현대적인 외관을 가지고 있으며 몇 가지 좋은 기능을 제공합니다.
샘플 Mochawesome 보고서는 다음과 같습니다.
따라서 SuperTest, Mocha, Chai 및 Mochawesome을 사용하여 JavaScript에서 API 테스트 자동화 프레임워크를 만들 수 있습니다.
참고: 이러한 라이브러리 또는 프레임워크에 사용할 수 있는 다른 많은 대안이 있지만 이를 위해 우리는 이것을 사용할 것입니다.
위의 게시물에 대한 자세한 설명을 보려면 아래 비디오를 확인하십시오.
따르다
최신 업데이트를 위해 Twitter에서
이와 같은 더 많은 콘텐츠를 보려면 내 구독
Reference
이 문제에 관하여(JavaScript API 자동화 테스트 - 사용할 라이브러리/프레임워크는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/automationbro/javascript-api-automation-testing-which-libraries-frameworks-to-use-40fm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)