Postman-ൽ ഏത് API റെസ്പോൺസും മോക്ക് (Mock) ചെയ്യാം
ഫ്രണ്ട്എൻഡ് ടെസ്റ്റിംഗ് (Frontend testing) പ്രയാസകരമാണ്. ടെസ്റ്റ് എഴുതുന്നതല്ല യഥാർത്ഥ വെല്ലുവിളി. ബാക്കെൻഡിൽ (backend) നിന്ന് പ്രത്യേക റെസ്പോൺസുകൾ ലഭ്യമാക്കുക എന്നതാണ് പ്രയാസം.
നിങ്ങൾക്ക് ഒരു 500 error ആവശ്യമായി വന്നേക്കാം. അല്ലെങ്കിൽ ഒരു empty list, അല്ലെങ്കിൽ ഒരു broken payload എന്നിവ ആവശ്യമായി വന്നേക്കാം. ഒരു ലൈവ് സെർവറിൽ (live server) ഇത് ചെയ്യുന്നത് പ്രയാസകരമാണ്.
ബാക്കെൻഡിൽ മാറ്റങ്ങൾ വരുത്താതെ തന്നെ ഓരോ റെസ്പോൺസും നിയന്ത്രിക്കാൻ ഈ വർക്ക്ഫ്ലോ (workflow) ഉപയോഗിക്കുക. നിങ്ങളുടെ ഡാറ്റ നിർമ്മിക്കാൻ Postman mock servers-ഉം AI-യും ഉപയോഗിക്കുക.
നിങ്ങളുടെ ഫ്രണ്ട്എൻഡ് ഒരു URL വിളിക്കുകയും JSON പ്രതീക്ഷിക്കുകയും ചെയ്യുന്നു. യഥാർത്ഥ API-ക്ക് പകരം നിങ്ങളുടെ ആപ്പിനെ ഒരു mock server-ലേക്ക് തിരിച്ചുവിടുക. നിങ്ങൾ നിർവചിച്ച റെസ്പോൺസുകൾ നൽകുന്ന ഒരു വ്യാജ അഡ്രസ്സാണ് mock server. ഇത് നിങ്ങളുടെ യഥാർത്ഥ API-യുടെ അതേ endpoints-ഉം ഘടനയും (shapes) ഉപയോഗിക്കുന്നു.
വേഗത്തിലുള്ള പരിശോധനകൾക്കായി Chrome DevTools അല്ലെങ്കിൽ Requestly പോലുള്ള ബ്രൗസർ ടൂളുകൾ ഉപയോഗിക്കാം. എന്നാൽ ഈ ടൂളുകൾ നിങ്ങളുടെ മെഷീനിൽ മാത്രമേ ലഭ്യമാകൂ. ഇവ സഹപ്രവർത്തകർക്ക് പങ്കുവെക്കാനോ CI പൈപ്പ്ലൈനിൽ (CI pipeline) ഉപയോഗിക്കാനോ കഴിയില്ല. നിങ്ങൾക്ക് ഇതിനായി ഒരു സ്ഥിരമായ പരിഹാരം (persistent solution) ആവശ്യമാണ്.
Postman-ൽ ഈ ഘട്ടങ്ങൾ പിന്തുടരുക:
- നിങ്ങളുടെ API collection തുറക്കുക.
- ഓരോ റിക്വസ്റ്റിനും (request), മൂന്ന് ഡോട്ടുകളിൽ ക്ലിക്ക് ചെയ്ത് 'Add example' എന്നത് തിരഞ്ഞെടുക്കുക.
- ഒരു status code-ഉം body-യും അടങ്ങിയ സേവ് ചെയ്ത റെസ്പോൺസാണ് ഒരു example.
- ഒരു endpoint-നായി ഒന്നിലധികം examples നിർമ്മിക്കുക: • 200 success • 404 not found • [] empty list • 500 server error
നിങ്ങളുടെ collection ഒരു Mock collection ആക്കി മാറ്റുക. Postman നിങ്ങൾക്ക് ഒരു പുതിയ URL നൽകും. നിങ്ങളുടെ ആപ്പിന്റെ base URL-ന് പകരം ഈ mock URL ഉപയോഗിക്കുക. ഇപ്പോൾ നിങ്ങളുടെ ഫ്രണ്ട്എൻഡ് mock server-മായി ആശയവിനിമയം നടത്തുന്നു.
ഏത് example ആണ് mock നൽകേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാൻ ഒരു request header ഉപയോഗിക്കുക:
x-mock-response-name: [your example name]
പ്രത്യേക സാഹചര്യങ്ങൾ (scenarios) സൃഷ്ടിക്കാൻ നിങ്ങളുടെ ഓട്ടോമേറ്റഡ് ടെസ്റ്റുകൾക്ക് ഈ header അയക്കാൻ കഴിയും. യഥാർത്ഥ ഡാറ്റയിൽ മാറ്റം വരുത്താതെ തന്നെ ഒരു endpoint ഉപയോഗിച്ച് എല്ലാ സാഹചര്യങ്ങളും പരിശോധിക്കാൻ ഇത് സഹായിക്കുന്നു.
നിങ്ങളുടെ examples-ൽ dynamic variables ഉപയോഗിക്കേണ്ടതുണ്ട്. JSON body-യിൽ {{ $randomInt }} അല്ലെങ്കിൽ {{ $randomEmail }} ഉപയോഗിക്കുക. ഇത് ഓരോ തവണയും വ്യത്യസ്ത ഡാറ്റ ലഭിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുന്നു. അപ്രതീക്ഷിതമായ ഇൻപുട്ടുകൾ (unexpected input) കാരണം ഉണ്ടാകുന്ന ബഗുകൾ കണ്ടെത്താൻ ഇത് സഹായിക്കുന്നു.
ഡസൻ കണക്കിന് examples കൈകൊണ്ട് എഴുതേണ്ടതില്ല. ആ ജോലി ചെയ്യാൻ AI ഉപയോഗിക്കുക.
Postman MCP വഴി നിങ്ങളുടെ collection Claude-ന് നൽകുക. ഓരോ endpoint-നും വേണ്ട example responses നിർമ്മിക്കാൻ അതിനോട് ആവശ്യപ്പെടുക. ഇതിൽ success cases, edge cases, malformed payloads എന്നിവ ഉൾപ്പെടുന്നു.
AI ഇപ്പോൾ ഫംഗ്ഷനുകൾ എഴുതാൻ വേണ്ടി മാത്രമല്ല. നിങ്ങളുടെ ടെസ്റ്റിംഗ് ടൂളുകൾ നിർമ്മിക്കാനും ഇത് ഉപയോഗിക്കുക.
നിങ്ങളുടെ ടീം എങ്ങനെയാണ് mocks കൈകാര്യം ചെയ്യുന്നത്? നിങ്ങൾ Postman ഉപയോഗിക്കുന്നുണ്ടോ, അതോ ഒരു സ്റ്റാൻഡ്ലോൺ സർവീസ് (standalone service) ഉപയോഗിക്കുന്നുണ്ടോ, അതോ ബാക്കെൻഡിനായി കാത്തിരിക്കുകയാണോ?
Source: https://dev.to/antonkirilchuk/mock-any-api-response-in-postman-and-let-ai-build-the-collection-2le1
Optional learning community: https://t.me/GyaanSetuAi