ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Symfony API සඳහා OpenAPI සමඟ Contract Testing: සරල මාර්ගෝපදේශය

Symfony API සඳහා OpenAPI සමඟ Contract Testing: සරල මාර්ගෝපදේශය

Symfony පදනම්ව API සංවර්ධනය කරන රටාවන්ට, නිකුත් කරන OpenAPI ලේඛනයට සමානව කේතය ක්‍රියාත්මක වෙයිද යන්න පරීක්ෂා කිරීම අත්‍යවශ්‍ය වේ. මේ සඳහා Gesso නමැති ලයිබ්‍රරිය භාවිතා කරමින්, පියවර හතරකින් සම්පූර්ණ contract testing ක්‍රමයක් සකස් කරගත හැකිය.

OpenAPI contract testing යනු, ඔබේ සැබෑ HTTP ඉල්ලීම් හා ප්‍රතිචාර OpenAPI ස්ක්‍රිප්ටයේ නියමිත ආකෘතියට අනුකූලදැයි තහවුරු කිරීමයි. මෙය provider‑side, spec‑driven පරීක්ෂණයක් වන අතර, consumer‑driven (Pact වැනි) පරීක්ෂණයන්ට වඩා ඔබේ API එකක් දැනට පළ කරන ලද ලේඛනය සමඟ සමානව පවත්නා බව තක්සේරු කරයි.

ආරම්භ කිරීමට අවශ්‍ය දේවල්: PHP 8.3+ සහ Symfony 6.4, 7.x, හෝ 8.x, symfony/http-foundation, symfony/http-kernel, symfony/framework-bundle (WebTestCase භාවිතා කරන විට) සහ Gesso (studio-design/gesso) යන ලයිබ්‍රරිය. Composer මඟින් composer require --dev "studio-design/gesso:^2.0" symfony/http-foundation symfony/http-kernel symfony/framework-bundle ලෙස ස්ථාපනය කරන්න.

Contract testing එකේ මූලික කොටස් හතරක් ඇත:

  • OpenAPI spec – yaml හෝ json ආකාරයේ 3.0‑3.2 ලේඛනය phpunit.xml හි extension ලෙස සලකුණු කරයි.
  • WebTestCase – Symfony හි WebTestCase (හෝ සාමාන්‍ය PHPUnit පන්තිය) දිගුවක් ලෙස භාවිතා කරයි.
  • TraitOpenApiAssertions trait එක mixin කර, spec නාමය #[OpenApiSpec('petstore')] ලෙස සඳහන් කරයි.
  • AssertionsassertResponseMatchesOpenApiSchema, assertRequestMatchesOpenApiSchema සහ assertClientMatchesOpenApiSchema වැනි විධාන තුලින් ඉල්ලීම් හා ප්‍රතිචාර පරීක්ෂා කරයි.

උදාහරණයක් ලෙස, static::createClient() මගින් KernelBrowser එකක් ලබාගෙන, /pets endpoint එකට GET ඉල්ලීමක් එවා, පසුගිය පරීක්ෂණය assertClientMatchesOpenApiSchema($client) සමඟ සම්පූර්ණ spec‑ට අනුකූලදැයි පරීක්ෂා කළ හැකිය. Kernel නොඇරඹී Request/Response වස්තු නිර්මාණය කර, unit‑style පරීක්ෂණයක්ද සිදු කළ හැක.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තාක්ෂණික උපාධි සිසුන්, ස්ථානාත්මක startups, සහ මධ්‍යම පරිමාණ ව්‍යාපාර සඳහා මෙම ක්‍රමය විශාල ප්‍රයෝජන දක්වයි. OpenAPI spec එකක් නිර්මාණය කර, Gesso සමඟ ස්වයංක්‍රීය පරීක්ෂණයක් සකස් කිරීමෙන්, කේතය සහ ලේඛනය අතර ගැලවුම් අවම කරයි. ඒ නිසා නව API එකක් නිර්මාණය කරන විට, හෝ පරණ එකක් යාවත්කාලීන කරන විට, අනාගත බග් හෝ අනුකූල නොවන අන්තර්ගතය හඳුනා ගැනීමට වේගවත්, ස්වයංක්‍රීය මාර්ගයක් ලැබේ.

සිසුන්ට, මෙම පරීක්ෂණ පද්ධතිය අධ්‍යයනය කර ගැනීමෙන්, වෘත්තීය මට්ටමේ API testing පළපුරුද්දක් ගොඩනැගිය හැකිය. startups සඳහා, වේගවත් CI/CD පයිප්ලයින් එකක් තුළ contract testing ඇතුළත් කිරීමෙන්, නිෂ්පාදන පියවරේ බග් ගණන අඩු කර, නිකුත් වේගය ඉහළ දිය හැක. මධ්‍යම පරිමාණ ව්‍යාපාර වලට, ගනුදෙනුකරුවන්ට නිකුත් කරන API ගුණාත්මක බව තහවුරු කිරීම, ව්‍යාපාරික විශ්වාසය ඉහළ දියත් කරයි.

අවසන් වශයෙන්, Symfony සමඟ OpenAPI contract testing ක්‍රමය, ලේඛනය‑කේත සමීකරණය, වේගවත් පරීක්ෂණ, සහ දේශීය තාක්ෂණික සමාජයට වෘත්තීය කුසලතා වර්ධනය කිරීමේ අත්‍යවශ්‍ය මෙවලමක් බවට පත්වේ.

💡 ඔබේ Symfony API එකේ ගුණාත්මකතා තහවුරු කරගන්න, අදම Gesso භාවිතා කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Symfony #OpenAPI #ContractTesting #Gesso #PHP