کتابخانه‌ی استاندارد · سیستم و ابزار

آزمایش testing

نوشتن آزمون برای کد: ادعاهای برابری، شمارش موفق و ناموفق و خلاصه‌ی نهایی.

واردسازی آزمایش
در این صفحه
  1. روال‌ها

آزمون، برنامه‌ای کوچک است که بررسی می‌کند کد شما همان کاری را می‌کند که باید. بسته‌ی آزمایش ادعاهایی دارد که اگر شکست بخورند، پیام روشنی چاپ می‌کنند ولی برنامه را متوقف نمی‌کنند؛ پس همه‌ی آزمون‌ها اجرا می‌شوند و در پایان خلاصه می‌گوید چند مورد موفق و چند مورد ناموفق بوده‌اند.

مقدار برگشتی خلاصه تعداد شکست‌هاست؛ آن را از ریشه برگردانید تا برنامه‌ی آزمون در CI با کد غیرصفر تمام شود.

روال‌ها

ادعا Assert

روال ادعا(cond: منطقی)
اگر شرط نادرست باشد، یک شکست ثبت می‌کند.
testing-Assert.salam
واردسازی آزمایش

روال جمع(الف: صحیح، ب: صحیح): صحیح:
    برگشت الف + ب
پایان

روال ریشه:
    آزمایش.بازنشانی()
    آزمایش.ادعا(جمع(۲، ۲) == ۴)
    آزمایش.ادعا با پیام(جمع(۱، ۱) == ۲، "یک و یک")
    آزمایش.ادعای درستی(درست)
    آزمایش.ادعای نادرستی(جمع(۰، ۰) == ۱)
    آزمایش.ادعای برابری عدد(جمع(۳، ۴)، ۷)
    آزمایش.ادعای برابری عدد۶۴(۱۰۰۰۰۰۰۰۰۰۰ برگردان صحیح۶۴، ۱۰۰۰۰۰۰۰۰۰۰ برگردان صحیح۶۴)
    آزمایش.ادعای برابری اعشار(۰.۱ + ۰.۲، ۰.۳، ۰.۰۰۰۱)
    آزمایش.ادعای شامل بودن("زبان سلام"، "سلام")
    آزمایش.ادعای برابری رشته("سلام"، "سلام")
    آزمایش.ادعای برابری منطقی(۱ < ۲، درست)
    آزمایش.ادعای نابرابری عدد(۱، ۲)
    آزمایش.ادعای نابرابری رشته("الف"، "ب")
    آزمایش.ادعای خالی بودن(پوچ)
    آزمایش.ادعای برابری عدد(جمع(۲، ۲)، ۵)
    سرچاپ آزمایش.موفق()، آزمایش.ناموفق()
    سرچاپ آزمایش.خلاصه()
پایان
خروجیFAIL: ints differ: got 4 want 5 13 1 -- tests: 13 passed, 1 failed 1

ادعا با پیام AssertMsg

روال ادعا با پیام(cond: منطقی، msg: رشته)
مثل ادعا، با پیام دلخواه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای درستی AssertTrue

روال ادعای درستی(cond: منطقی)
شرط باید درست باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای نادرستی AssertFalse

روال ادعای نادرستی(cond: منطقی)
شرط باید نادرست باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای برابری عدد AssertEqInt

روال ادعای برابری عدد(got: صحیح، want: صحیح)
دو عدد صحیح باید برابر باشند؛ در شکست، هر دو مقدار چاپ می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای برابری عدد۶۴ AssertEqInt64

روال ادعای برابری عدد۶۴(got: صحیح۶۴، want: صحیح۶۴)
دو عدد صحیح ۶۴ بیتی باید برابر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای برابری اعشار AssertEqFloat

روال ادعای برابری اعشار(got: اعشار۶۴، want: اعشار۶۴، eps: اعشار۶۴)
دو عدد اعشاری باید با اختلافی کمتر از eps برابر باشند؛ اعشاری‌ها را هیچ‌وقت با == مقایسه نکنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای شامل بودن AssertContains

روال ادعای شامل بودن(hay: رشته، needle: رشته)
رشته‌ی اول باید رشته‌ی دوم را داشته باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای برابری رشته AssertEqStr

روال ادعای برابری رشته(got: رشته، want: رشته)
دو رشته باید برابر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای برابری منطقی AssertEqBool

روال ادعای برابری منطقی(got: منطقی، want: منطقی)
دو مقدار منطقی باید برابر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای نابرابری عدد AssertNeInt

روال ادعای نابرابری عدد(a: صحیح، b: صحیح)
دو عدد صحیح باید نابرابر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای نابرابری رشته AssertNeStr

روال ادعای نابرابری رشته(a: رشته، b: رشته)
دو رشته باید نابرابر باشند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای خالی بودن AssertNil

روال ادعای خالی بودن(p: تهی*)
اشاره‌گر باید پوچ باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ادعای خالی نبودن AssertNotNil

روال ادعای خالی نبودن(p: تهی*)
اشاره‌گر نباید پوچ باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

بازنشانی Reset

روال بازنشانی()
شمارنده‌ها را صفر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

موفق Passed

روال موفق(): صحیح
تعداد ادعاهای موفق.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

ناموفق Failed

روال ناموفق(): صحیح
تعداد ادعاهای ناموفق.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam

خلاصه Summary

روال خلاصه(): صحیح
خلاصه را چاپ می‌کند و تعداد شکست‌ها را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: testing-Assert.salam