🔵 عنوان مقاله
Subtest Grouping in Go
🟢 خلاصه مقاله:
این مقاله از Golang Weekly توضیح میدهد چگونه با استفاده از T.Run در بسته testing میتوان زیرآزمونها را گروهبندی کرد تا تستهای بزرگ و Table-Driven خواناتر، قابل نگهداریتر و قابل فیلترشدن شوند. با نامگذاری سلسلهمراتبی مثل "Parser/Valid" یا "Auth/Admin/Permissions" میتوان با go test -run فقط یک گروه یا یک مورد خاص را اجرا کرد و همان الگو برای Benchmarks با B.Run نیز کاربرد دارد. مزیت دیگر این الگو، مدیریت سادهتر Setup/Teardown با تکیه بر Closure و t.Cleanup و همچنین امکان موازیسازی امن با t.Parallel است. مقاله بر نامهای شفاف، پرهیز از وضعیت مشترک قابل تغییر، گروههای منسجم، و استفاده از t.Helper برای سادهسازی تأکید میکند؛ ضمن اینکه خروجی ساختیافته تستها با -json و ابزارها/IDEها بهخوبی یکپارچه میشود و عیبیابی و سرعت توسعه را بهبود میدهد.
#Go #Golang #Testing #Subtests #GoTesting #GolangWeekly #SoftwareTesting
🟣لینک مقاله:
https://golangweekly.com/link/175983/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Subtest Grouping in Go
🟢 خلاصه مقاله:
این مقاله از Golang Weekly توضیح میدهد چگونه با استفاده از T.Run در بسته testing میتوان زیرآزمونها را گروهبندی کرد تا تستهای بزرگ و Table-Driven خواناتر، قابل نگهداریتر و قابل فیلترشدن شوند. با نامگذاری سلسلهمراتبی مثل "Parser/Valid" یا "Auth/Admin/Permissions" میتوان با go test -run فقط یک گروه یا یک مورد خاص را اجرا کرد و همان الگو برای Benchmarks با B.Run نیز کاربرد دارد. مزیت دیگر این الگو، مدیریت سادهتر Setup/Teardown با تکیه بر Closure و t.Cleanup و همچنین امکان موازیسازی امن با t.Parallel است. مقاله بر نامهای شفاف، پرهیز از وضعیت مشترک قابل تغییر، گروههای منسجم، و استفاده از t.Helper برای سادهسازی تأکید میکند؛ ضمن اینکه خروجی ساختیافته تستها با -json و ابزارها/IDEها بهخوبی یکپارچه میشود و عیبیابی و سرعت توسعه را بهبود میدهد.
#Go #Golang #Testing #Subtests #GoTesting #GolangWeekly #SoftwareTesting
🟣لینک مقاله:
https://golangweekly.com/link/175983/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Redowan's Reflections
Subtest grouping in Go
Go has support for subtests starting from version 1.7. With t.Run, you can nest tests,
assign names to cases, and let the runner execute work in parallel by calling t.Parallel
from subtests if needed.
For small suites, a flat set of t.Run calls is usually…
assign names to cases, and let the runner execute work in parallel by calling t.Parallel
from subtests if needed.
For small suites, a flat set of t.Run calls is usually…
👍1
🔵 عنوان مقاله
Getting Started with Fuzzing in Go
🟢 خلاصه مقاله:
این راهنمای رسمی از Go Docs یک شروع عملی و بهروز برای افزودن fuzzing به جریان تستهای Go است. آموزش نشان میدهد چگونه یک تابع FuzzXxx با testing.F بنویسید، ورودیهای اولیه را با f.Add اضافه کنید، و با go test -fuzz اجرا بگیرید (در صورت نیاز با -fuzztime). هنگام کشف خطا یا panic، ورودیِ کوچکسازیشده بهطور خودکار در testdata/fuzz ذخیره میشود تا بتوانید آن را بهصورت قطعی بازتولید، عیبیابی و بهعنوان تست رگرسیون نگهداری کنید. همچنین بهترینروشها مانند تعیین حدود منابع، اجتناب از نادترمینیزم، تعریف خاصیت/قاعده مورد انتظار، هدفگیری کدهای parser/decoder و ادغام در CI را پوشش میدهد. نتیجه اینکه افزودن fuzzing با ابزارهای داخلی Go ساده است و این راهنما مراحل، دستورات و نمونهکد لازم را در اختیارتان میگذارد.
#Go #Fuzzing #GoDocs #SoftwareTesting #Security #GoTesting #PropertyBasedTesting #CI
🟣لینک مقاله:
https://golangweekly.com/link/177186/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Getting Started with Fuzzing in Go
🟢 خلاصه مقاله:
این راهنمای رسمی از Go Docs یک شروع عملی و بهروز برای افزودن fuzzing به جریان تستهای Go است. آموزش نشان میدهد چگونه یک تابع FuzzXxx با testing.F بنویسید، ورودیهای اولیه را با f.Add اضافه کنید، و با go test -fuzz اجرا بگیرید (در صورت نیاز با -fuzztime). هنگام کشف خطا یا panic، ورودیِ کوچکسازیشده بهطور خودکار در testdata/fuzz ذخیره میشود تا بتوانید آن را بهصورت قطعی بازتولید، عیبیابی و بهعنوان تست رگرسیون نگهداری کنید. همچنین بهترینروشها مانند تعیین حدود منابع، اجتناب از نادترمینیزم، تعریف خاصیت/قاعده مورد انتظار، هدفگیری کدهای parser/decoder و ادغام در CI را پوشش میدهد. نتیجه اینکه افزودن fuzzing با ابزارهای داخلی Go ساده است و این راهنما مراحل، دستورات و نمونهکد لازم را در اختیارتان میگذارد.
#Go #Fuzzing #GoDocs #SoftwareTesting #Security #GoTesting #PropertyBasedTesting #CI
🟣لینک مقاله:
https://golangweekly.com/link/177186/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Tutorial: Getting started with fuzzing - The Go Programming Language
❤1👍1🔥1