Naha TestMace leuwih hade tinimbang tukang pos

Naha TestMace leuwih hade tinimbang tukang pos

Halo sadayana, kadieu TestMace! Sugan loba jalma nyaho ngeunaan urang ti tina kami saméméhna artikel. Pikeun maranéhanana anu kakarék gabung: urang ngamekarkeun hiji IDE pikeun gawé bareng TestMace API. Patarosan anu paling sering ditaroskeun nalika ngabandingkeun TestMace sareng produk pesaing nyaéta "Kumaha anjeun béda ti Tukang Pos?" Kami mutuskeun yén éta waktuna pikeun masihan jawaban anu lengkep pikeun patarosan ieu. Di handap ieu kami geus outlined kaunggulan urang leuwih Tukang pos.

Ngabagi kana node

Upami anjeun damel sareng tukang pos, anjeun terang yén antarbeungeut pamundut ngandung sadaya pungsionalitas anu diperyogikeun. Aya naskah, tés, sareng, kanyataanna, pamenta sorangan. Hal ieu ngajadikeun eta gampang pikeun beginners, tapi dina skenario badag pendekatan ieu teu fléksibel. Kumaha upami anjeun hoyong nyiptakeun sababaraha patarosan sareng ngalaksanakeun agrégasi dina éta? Kumaha upami anjeun hoyong ngaéksekusi naskah tanpa pamundut atanapi sababaraha skrip anu dipisahkeun sacara logis sakaligus? Barina ogé, éta bakal mangrupakeun ide nu sae pikeun misahkeun tés tina Aksara utiliti biasa. Salaku tambahan, pendekatan "nambahkeun sadaya pungsionalitas kana hiji titik" henteu tiasa diskalakeun - antarbeungeutna gancang janten overloaded.

TestMace mimitina ngabagi sadaya fungsionalitas kana sababaraha jinis titik. Dupi anjeun kersa ngadamel pamundut? Éta pikeun anjeun léngkah pamundut titik Naha anjeun badé nyerat naskah? Ieu keur anjeun naskah titik Peryogi tés? Punten - Penegasan titik Oh enya, anjeun masih tiasa mungkus sadayana ieu map titik Sareng sadaya ieu tiasa gampang digabungkeun saling. Pendekatan ieu henteu ngan ukur fleksibel, tapi ogé, saluyu sareng prinsip tanggung jawab tunggal, ngamungkinkeun anjeun ngan ukur nganggo naon anu anjeun peryogikeun ayeuna. Naha kuring peryogi skrip sareng tés upami kuring ngan ukur hoyong nyuhunkeun?

format proyék bisa dibaca manusa

Aya bédana konseptual antara TestMace sareng Postman dina cara disimpen. Di tukang pos, sadaya pamundut disimpen di tempat panyimpenan lokal. Upami aya kabutuhan ngabagi pamundut antara sababaraha pangguna, maka anjeun kedah nganggo sinkronisasi anu diwangun. Kanyataanna, ieu pendekatan ditarima sacara umum, tapi teu tanpa drawbacks na. Kumaha upami kaamanan data? Barina ogé, kawijakan sababaraha pausahaan bisa jadi teu ngidinan nyimpen data jeung pihak katilu. Nanging, kami pikir TestMace ngagaduhan anu langkung saé pikeun nawiskeun! Sareng nami perbaikan ieu mangrupikeun "format proyék anu tiasa dibaca ku manusa."

Hayu urang mimitian ku kanyataan yén dina TestMace, prinsipna mah, aya hiji éntitas "proyék". Sareng aplikasi mimitina dikembangkeun kalayan ati-ati pikeun nyimpen proyék dina sistem kontrol versi: tangkal proyék ampir hiji-hiji diproyeksikan kana struktur file, yaml dianggo salaku format panyimpenan (tanpa kurung tambahan sareng koma), sareng Perwakilan file unggal titik dijelaskeun sacara rinci dina dokuméntasi sareng koméntar. Tapi dina kalolobaan kasus anjeun moal kasampak di dinya - kabeh ngaran widang boga ngaran logis.

Naon ieu masihan pamaké? Ieu ngidinan Anjeun pikeun ngarobah alur gawé tim urang pisan flexibly, ngagunakeun pendekatan akrab. Contona, pamekar bisa nyimpen hiji proyék dina gudang sarua salaku backend nu. Dina cabang, salian ti ngarobah dasar kode sorangan, pamekar bisa ngabenerkeun skrip query aya na tés. Saatos ngalakukeun parobihan kana gudang (git, svn, mercurial - naon waé anu anjeun pikahoyong), CI (karesep anjeun, henteu ditumpukeun ku saha waé) ngaluncurkeun utilitas konsol kami. testmace-cli, jeung laporan narima sanggeus palaksanaan (Contona, dina format junit, nu ogé dirojong dina testmace-cli) dikirim ka sistem luyu. Sareng masalah kaamanan anu disebatkeun di luhur henteu janten masalah deui.

Sakumaha anjeun tiasa tingali, TestMace henteu maksakeun ékosistem sareng paradigma na. Gantina, eta fits gampang kana prosés ngadegkeun.

Variabel dinamis

TestMace nuturkeun konsép no-kode: lamun masalah bisa direngsekeun tanpa ngagunakeun kode, urang nyobian nyadiakeun kasempetan ieu. Gawe sareng variabel mangrupikeun jinis fungsionalitas dimana dina kalolobaan kasus anjeun tiasa ngalakukeun tanpa program.

Conto: kami nampi réspon ti server, sareng kami badé ngahemat bagian tina réspon kana variabel. Dina Postman, dina naskah tés (anu anéh sorangan) urang bakal nyerat sapertos kieu:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", jsonData.data);

Tapi dina pamadegan urang, nulis naskah pikeun skenario basajan tur sering dipake saperti sigana kaleuleuwihan. Ku alatan éta, dina TestMace kasebut nyaéta dimungkinkeun pikeun napelkeun sapotong jawaban kana variabel ngagunakeun panganteur grafis. Tingali kumaha basajanna:

Naha TestMace leuwih hade tinimbang tukang pos

Sareng ayeuna kalayan unggal pamundut variabel dinamis ieu bakal diropéa. Tapi anjeun bisa ngabantah, arguing yén pendekatan tukang pos téh leuwih fléksibel tur ngidinan Anjeun teu ngan nyieun hiji ngerjakeun, tapi ogé pikeun ngalakukeun sababaraha preprocessing. Ieu kumaha carana ngarobih conto sateuacana:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("data", CryptoJS.MD5(jsonData.data));

Nya, pikeun tujuan ieu TestMace gaduh naskah titik, nu nyertakeun skenario ieu. Dina raraga baranahan kasus saméméhna, tapi geus dieksekusi ku TestMace, Anjeun kudu nyieun titik skrip nuturkeun pamundut na make kodeu handap salaku naskah:

const data = tm.currentNode.prev.response.body.data;
tm.currentNode.parent.setDynamicVar('data', crypto.MD5(data));

Sakumaha anjeun tiasa tingali, komposisi titik dilayanan ogé di dieu. Sareng pikeun kasus saderhana sapertos anu dijelaskeun di luhur, anjeun ngan saukur tiasa napelkeun éksprési ${crypto.MD5($response.data)} variabel dijieun via GUI!

Nyieun tés via GUI

Tukang pos ngidinan Anjeun pikeun nyieun tés ku nulis Aksara (dina kasus tukang pos, ieu JavaScript). Pendekatan ieu ngagaduhan seueur kaunggulan - kalenturan ampir henteu terbatas, kasadiaan solusi anu siap-siap, jsb.

Nanging, kanyataanana sering sapertos kitu (urang henteu sapertos kitu, hirup sapertos kitu) yén panguji henteu gaduh kaahlian pemrograman, tapi anjeunna hoyong nyandak kauntungan pikeun tim ayeuna. Pikeun kasus kawas, nuturkeun konsép no-kode, TestMace ngidinan Anjeun pikeun nyieun tés basajan ngaliwatan GUI tanpa resorting ka nulis Aksara. Di dieu, contona, kumaha prosés nyiptakeun tés anu ngabandingkeun nilai-nilai kasaruaan sapertos kieu:

Naha TestMace leuwih hade tinimbang tukang pos

Nanging, nyiptakeun tés dina pangropéa grafis henteu ngaleungitkeun kamungkinan éta tés nulis dina kode. Sadaya perpustakaan anu sami didieu sapertos dina titik naskah, sareng chai pikeun tés nulis.

Situasi sering timbul nalika query tangtu atawa malah hiji sakabéh naskah perlu dieksekusi sababaraha kali dina bagian nu sejen proyek. Conto pamundut sapertos kitu tiasa janten otorisasi multi-tahap khusus, mawa lingkungan ka kaayaan anu dipikahoyong, jsb. Sacara umum, dina hal basa pamrograman, urang hoyong gaduh fungsi anu tiasa dianggo deui dina bagian anu béda dina aplikasi. Dina TestMace fungsi ieu dipigawé ku link titik Gampang pisan dianggo:
1) nyieun query atawa naskah
2) nyieun titik tipe Link
3) dina parameter, tangtukeun tumbu ka naskah dijieun dina hambalan kahiji

Dina versi anu langkung maju, anjeun tiasa netepkeun variabel dinamis mana tina naskah anu disalurkeun ka tingkat anu langkung luhur relatif ka tautan. Sora ngabingungkeun? Anggap urang nyiptakeun Polder kalayan nami nyieun-pos, dimana variabel dinamis ditugaskeun ka titik ieu postId. Ayeuna dina titik Link nyieun-pos-link anjeun eksplisit bisa nangtukeun yén variabel postId ditugaskeun ka karuhun nyieun-pos-link. mékanisme ieu (deui, dina basa programming) bisa dipaké pikeun mulangkeun hasil tina "fungsi". Sacara umum, éta tiis, garing aya dina ayunan pinuh jeung deui moal hiji garis kode ruksak.

Naha TestMace leuwih hade tinimbang tukang pos

Sedengkeun pikeun tukang pos, aya pamundut fitur pikeun reusing requests ngagantung saprak 2015, jeung sigana aya malah sababaraha pitunjukyén maranéhna keur dipake dina masalah ieu. Dina formulir na ayeuna, tukang pos, tangtosna, mibanda kamampuhan pikeun ngarobah thread of palaksanaan, nu dina téori meureun ngamungkinkeun pikeun nerapkeun kabiasaan sarupa, tapi ieu téh leuwih ti hiji Hack kotor ti pendekatan sabenerna jalan.

Bedana séjén

  • Kontrol anu langkung ageung kana ruang lingkup variabel. Ruang lingkup pangleutikna dimana variabel tiasa ditetepkeun dina Postman nyaéta koleksi. TestMace ngidinan Anjeun pikeun nangtukeun variabel pikeun sagala query atawa folder. Dina kempelan Postman Share ngidinan Anjeun pikeun ngekspor hijina kumpulan, sedengkeun dina TestMace babagi lumaku pikeun titik mana wae
  • TestMace ngarojong headers inheritable, nu bisa digantikeun kana queries anak sacara standar. Tukang pos gaduh hal ngeunaan ieu: tugasna, komo ditutup, tapi ditawarkeun salaku solusi... ngagunakeun naskah. Dina TestMace, ieu sadayana dikonpigurasi via GUI sareng aya pilihan pikeun opsional nganonaktipkeun header anu diwariskeun dina turunan khusus.
  • Balikkeun / Balikkeun deui. Gawéna henteu ngan ukur nalika ngédit titik, tapi ogé nalika mindahkeun, mupus, ngaganti ngaran sareng operasi sanésna anu ngarobih struktur proyék.
  • Berkas anu napel kana pamundut janten bagian tina proyék sareng disimpen sareng éta, bari disinkronkeun sampurna, teu sapertos tukang pos. (Leres, anjeun henteu kedah deui milih file sacara manual unggal waktos anjeun ngamimitian sareng nransperkeunana ka kolega dina arsip)

Fitur nu geus di jalan

Kami henteu tiasa nolak godaan pikeun ngangkat jilbab rasiah dina sékrési salajengna, khususna nalika pungsionalitasna ngeunah pisan sareng parantos ngalaman polishing pra-pelepasan. Ku kituna, hayu urang papanggih.

fungsi

Sakumaha anjeun terang, tukang pos nganggo anu disebut variabel dinamis pikeun ngahasilkeun nilai. Daptar aranjeunna impressive sareng seuseueurna fungsi dianggo pikeun ngahasilkeun nilai palsu. Salaku conto, pikeun ngahasilkeun email acak anjeun kedah nyerat:

{{$randomEmail}}

Sanajan kitu, saprak ieu variabel (sanajan dinamis), maranéhna teu bisa dipaké salaku fungsi: aranjeunna henteu parameterizable, ku kituna teu mungkin nyandak Hash tina string a.

Urang rencanana pikeun nambahkeun "jujur" fungsi TestMace. Di jero ${}, teu ngan ukur tiasa ngaksés variabel, tapi ogé tiasa nelepon fungsi. Jelema. upami anjeun kedah ngahasilkeun email palsu anu terkenal, kami ngan saukur nyerat

${faker.internet.email()}

Salian kanyataan yén éta téh fungsi hiji, anjeun bakal aya bewara nu kasebut nyaéta dimungkinkeun pikeun nelepon metoda dina hiji obyék. Na tinimbang daptar datar badag variabel dinamis, urang boga susunan objék logis dikelompokeun.

Kumaha upami urang hoyong ngitung hash tina senar? Gampang!

${crypto.MD5($dynamicVar.data)}

Anjeun bakal aya bewara nu malah bisa lulus variabel salaku parameter! Dina titik ieu, pamaca anu hoyong terang tiasa nyangka aya anu salah ...

Ngagunakeun JavaScript dina Babasan

... Jeung alesan alus! Nalika sarat pikeun fungsi kabentuk, urang ujug-ujug dugi ka kacindekan yén JavaScript anu valid kedah ditulis dina ekspresi. Janten ayeuna anjeun bébas nyerat ekspresi sapertos:

${1 + '' + crypto.MD5('asdf')}

Sareng sadaya ieu tanpa naskah, leres dina widang input!

Sedengkeun pikeun tukang pos, di dieu anjeun ngan ukur tiasa nganggo variabel, sareng nalika anjeun nyobian nyerat ekspresi pangleutikna, validator kutukan sareng nolak ngitung éta.

Naha TestMace leuwih hade tinimbang tukang pos

Autocompletion canggih

Ayeuna TestMace gaduh autocompletion standar anu sapertos kieu:

Naha TestMace leuwih hade tinimbang tukang pos

Di dieu, sajaba garis otomatis-lengkep, dituduhkeun naon baris ieu milik. Mékanisme ieu ngan ukur dianggo dina ekspresi anu dikurilingan ku kurung ${}.

Sakumaha anjeun tiasa tingali, spidol visual geus ditambahkeun anu nunjukkeun jenis variabel (contona, string, angka, Asép Sunandar Sunarya, jsb). Anjeun oge tiasa ngarobih modeu autocompletion (contona, anjeun tiasa milih autocompletion sareng variabel atanapi header). Tapi sanajan ieu sanés hal anu paling penting!

Kahiji, autocompletion jalan sanajan dina ekspresi (mana mungkin). Ieu anu katingalina:

Naha TestMace leuwih hade tinimbang tukang pos

Sareng kadua, autocompletion ayeuna sayogi dina naskah. Tingali kumaha gawéna!

Naha TestMace leuwih hade tinimbang tukang pos

Teu aya gunana pikeun ngabandingkeun fungsionalitas ieu sareng Tukang Pos - autocompletion ngan ukur dugi ka daptar statik variabel, header sareng nilaina (lereskeun kuring upami kuring hilap). Skrip henteu otomatis réngsé :)

kacindekan

Oktober ditandaan sataun saprak mimiti ngembangkeun produk urang. Salila ieu, urang junun ngalakukeun loba hal sarta, dina sababaraha hal, bray up kalawan pesaing urang. Tapi kumaha waé, tujuan urang nyaéta ngadamel alat anu saé pikeun damel sareng API. Kami masih gaduh seueur padamelan, ieu mangrupikeun rencana kasar pikeun pangwangunan proyék kami pikeun taun anu bakal datang: https://testmace.com/roadmap.

Eupan balik anjeun bakal ngamungkinkeun urang pikeun nganapigasi langkung saé kana seueur fitur, sareng dukungan anjeun masihan kakuatan sareng kapercayaan yén kami ngalakukeun hal anu leres. Éta kajadian yén dinten ieu mangrupikeun dinten anu penting pikeun proyék urang - dinten TestMace diterbitkeun dina ProductHunt. Mangga ngarojong proyék kami, éta pohara penting pikeun kami. Sumawona, aya tawaran pikabitaeun dina halaman PH kami ayeuna, sareng éta terbatas

sumber: www.habr.com

Tambahkeun komentar