oktatas:web:nodejs:rest_api:supertest
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalonElőző változat | |||
oktatas:web:nodejs:rest_api:supertest [2024/07/27 19:29] – eltávolítva admin | oktatas:web:nodejs:rest_api:supertest [2024/07/28 11:46] (aktuális) – létrehozva admin | ||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | [[oktatas: | ||
+ | |||
+ | ====== SuperTest ====== | ||
+ | |||
+ | * **Szerző: | ||
+ | * Copyright (c) 2022, Sallai András | ||
+ | * Szerkesztve: | ||
+ | * Licenc: [[https:// | ||
+ | * Web: https:// | ||
+ | |||
+ | ===== Bevezetés ===== | ||
+ | |||
+ | A SuperTest REST API tesztelő Node.js könyvtár. | ||
+ | |||
+ | |||
+ | ===== Telepítés ===== | ||
+ | |||
+ | npm install supertest --save-dev | ||
+ | |||
+ | |||
+ | ===== Próba ===== | ||
+ | |||
+ | <code javascript proba.js> | ||
+ | const request = require(' | ||
+ | </ | ||
+ | |||
+ | |||
+ | Futtatás: | ||
+ | node proba.js | ||
+ | |||
+ | Ha nem kapunk kimenetet, a telepítés sikeres. | ||
+ | |||
+ | ===== Egyszerű GET teszt ===== | ||
+ | |||
+ | <code javascript gettest.js> | ||
+ | const request = require(' | ||
+ | |||
+ | request(' | ||
+ | .get('/ | ||
+ | .end(function(err, | ||
+ | if (err) throw err; | ||
+ | console.log(res.body); | ||
+ | }); | ||
+ | |||
+ | </ | ||
+ | |||
+ | Az end() metódus véglegesíti a kérést, az API hívásával. | ||
+ | |||
+ | ===== Elvárt válaszok ===== | ||
+ | |||
+ | Az expect() metódussal jelezzük, hogy az elvárt választ 200. | ||
+ | |||
+ | <code javascript extest.js> | ||
+ | request(' | ||
+ | .get('/ | ||
+ | .expect(200) | ||
+ | .end(function(err, | ||
+ | if (err) throw err; | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Az expect() hívást az end() előtt kell megtenni. | ||
+ | |||
+ | |||
+ | Vizsgáljuk azt is, hogy a válasz JSON volt-e. | ||
+ | |||
+ | <code javascript extest.js> | ||
+ | request(' | ||
+ | .get('/ | ||
+ | .expect(200) | ||
+ | .expect(' | ||
+ | .end(function(err, | ||
+ | if (err) throw err; | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ===== A JSON válasz ellenőrzése ===== | ||
+ | |||
+ | <code javascript extest.js> | ||
+ | request(' | ||
+ | .get('/ | ||
+ | .expect(200) | ||
+ | .expect(' | ||
+ | .expect(function(res) { | ||
+ | if (!res.body.hasOwnProperty(' | ||
+ | if (!res.body.hasOwnProperty(' | ||
+ | }) | ||
+ | .end(function(err, | ||
+ | if (err) throw err; | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Használhatunk assert() metódust, így rövidebb sorokat kapunk: | ||
+ | |||
+ | <code javascript extest.js> | ||
+ | const request = require(' | ||
+ | const assert = require(' | ||
+ | |||
+ | request(' | ||
+ | .get('/ | ||
+ | .expect(200) | ||
+ | .expect(' | ||
+ | .expect(function(res) { | ||
+ | assert(res.body.hasOwnProperty(' | ||
+ | assert(res.body.hasOwnProperty(' | ||
+ | }) | ||
+ | .end(function(err, | ||
+ | if (err) throw err; | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Kombináció Mocha-val ===== | ||
+ | |||
+ | |||
+ | <code javascript moctest.js> | ||
+ | describe(' | ||
+ | it(' | ||
+ | request(' | ||
+ | .get('/ | ||
+ | .expect(200) | ||
+ | .expect(' | ||
+ | .expect(/ | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Vegyük észre, hogy elhagytuk az end() metódust, és az utolsó | ||
+ | expect() metódus végére egy done paraméter került. | ||
+ | |||
+ | |||
+ | ===== Felhasznált webhelyek ===== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | |||
oktatas/web/nodejs/rest_api/supertest.1722101359.txt.gz · Utolsó módosítás: 2024/07/27 19:29 szerkesztette: admin