Sziasztok!
Szeretnék egy klienst tesztelni, amihez nincs szerver. Ehhez jelenleg egy egyszerű http(s) hívást szeretnék a kliensből, ami REST-en visszaad egy random float számot 1 és 30 között.
Azt gondoltam, hogy tele van ilyennel a net, de nem igazán találtam. (Lehet, hogy rosszul kerestem)
Amit kidobott a google, az vagy nem tud float-ot: https://www.random.org/integers/?mode=advanced
Vagy csak grafikus felülete van, de nem tud text/json adatot visszaadni: https://codebeautify.org/random-tools
Tudnátok ajánlani ilyet?
Természetesen meg tudom írni, nem nagy dolog, csak csodálkozom, mert pl webfejlesztésnél van olyan API, ami visszaad egy megadott méretű képet, szöveget meg mindent ami kell.
Pl itt is van minden, de sima random szám nincs: https://api-ninjas.com/
Update:
A chatGPT végül válaszolt. :)
A random.org-nak van API-ja. Regisztrálás után elérhető.
https://api.random.org/dashboard
A float random generáláshoz a generateDecimalFractions metóduhívás kell.
Tegnap este már fáradt voltam úgy néz ki, ma meg túl hamar tettem fel itt a kérdést.
De legalább már rögzítve van.
Üdv: redman
- 430 megtekintés
Hozzászólások
Mock (server) a kulcsszó páros amit keresel. Alapból a folyamato valami olyasmi lenne, hogy csinálsz egy api dokumentációt (pl openapi) majd egy azon contract/spec-t implementáló mock server-t. pl a példát folytatva: https://github.com/muonsoft/openapi-mock.
- A hozzászóláshoz be kell jelentkezni
Igen, ez jó, de lehet, hogy nem hansúlyoztam eléggé: ready-to-use megoldást kerestem. Nem akartam írni semmit, csak egy free online szolgáltatás lenne jó, ami a fejlesztési időszakban imitálja a szervert.
- A hozzászóláshoz be kell jelentkezni
Javítom magam, ez online és free.
Kérdés: hogyan adok vissza itt random számot? Úgy látom csak fix adatot lehet mockolni. Bár még csak 5 percet töltöttem vele :)
Természetesen egy random számra ez ágyú, de a későbbiekben jó lehet.
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy nincs ez a feladat túlgondolva? :)
const http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(Math.random() * (30 - 1) + 1);
}).listen(3000);
Tetszőleges másik stackben is hasonlóan egyszerű. A mockolás egy hasznos dolog, de ha ez egy ideiglenes valami, én nem biztos, hogy ennél sokkal több időt töltenék vele.
- A hozzászóláshoz be kell jelentkezni
Nem a feladat, hanem az elv itt a fontos most. De közben megtaláltam, mindjárt írok update-et.
- A hozzászóláshoz be kell jelentkezni
Ja hat nekem erre van egy flask-os kis app-om amit pont ilyesmire hasznalok, ha kell valami akkor pikk-pakk belerakom az endpointot meg hogy mi legyen a visszaadot MoC data aztan kesz (pl. grafana endpoint, meg elasticsearch api-k mocjai,...ehh lehet tisztitani kellene mar :D). Kb, ugy nez ki, hogy minenhova bele van rakva egy fuggveny a dekoratorhoz meg egy jonagy json vagy akarmi amit vissza kell responsolni.
Mar gondolkodtam rajta hogy megcsinalom szepen swagerrel, de egyelore nem visz ra a lelek :D
- A hozzászóláshoz be kell jelentkezni
[Irónia=BE] Ne már! Ez milyen láma? Sehol egy függőség, amit valami külső csomag tárolóból húzol be, hogy a (30 - 1) kifejezést el tudja végezni? Ez a baj ezekkel a boomer fejlesztőkkel... [Irónai=ki]
- A hozzászóláshoz be kell jelentkezni
https://www.kodingmadesimple.com/2016/04/convert-csv-to-json-using-php…
Ha a php megfelel, inenntől csv-ben ados neki át az adatokat és kapsz egy json-t.
- A hozzászóláshoz be kell jelentkezni
Nem tudom mekkora fejlesztés ez, meg mi a tesztelés célja, de ha csak egy minimális esély is van rá, hogy később lesz emellé a számkérős dolog mellé még más is, meg azt is tesztelgetni kell, akkor már inkább készíts teszt/mock szervizt vagy használj erre alkalmas eszközt (java világban van pl a soapui).
Ha nálad a forráskód, akkor teszteld unit tesztben csak azt a komponenst, ami felhasználja a számot külön, hálózati komm belekeverése nélkül. Sokkal tisztább és szárazabb érzés. ;)
- A hozzászóláshoz be kell jelentkezni
Ha nem az a cél, hogy nagyon alapos kontrollod legyen a visszaadott adatok felett, akkor a httpbin egész jó szokott lenni, dockerrel localban just works.
Ha igen, akkor vagy valami schema alapú mockot érdemes csinálni, vagy pl a postmanben is lehe mock servert csinálni, ha jól rémlik. Vagy mondjuk vscodehoz is van extension. Vagy kb bármi random keretrendszerben leírod azt a ~10 sort, aztán elindítod.
- A hozzászóláshoz be kell jelentkezni
Pont a httpbint akartam javasolni én is, csak sehogy nem akart eszembe jutni a neve, úgyhogy kicsit keresni kellett, hogy hol is találkoztam vele legutóbb. :)
Előnye, hogy van online változata is, úgyhogy helyben nem is muszáj futtatni semmit, de úgy látom, az most eléggé köhög. (Gyors kereséssel itt találtam hozzá egy swagger api doksit, hogy mit tud.)
- A hozzászóláshoz be kell jelentkezni
Előnye, hogy van online változata is, úgyhogy helyben nem is muszáj futtatni semmit, de úgy látom, az most eléggé köhög.
Azért írtam, hogy nagyon egyszerű futtatni helyben, mert elég konstans tüdőbajos az online. Cserébe alapból swagger guival jön, nem kell külön túrni :)
- A hozzászóláshoz be kell jelentkezni