آزمایش testing
نوشتن آزمون برای کد: ادعاهای برابری، شمارش موفق و ناموفق و خلاصهی نهایی.
واردسازی آزمایش
آزمون، برنامهای کوچک است که بررسی میکند کد شما همان کاری را میکند که باید. بستهی آزمایش ادعاهایی دارد که اگر شکست بخورند، پیام روشنی چاپ میکنند ولی برنامه را متوقف نمیکنند؛ پس همهی آزمونها اجرا میشوند و در پایان خلاصه میگوید چند مورد موفق و چند مورد ناموفق بودهاند.
مقدار برگشتی خلاصه تعداد شکستهاست؛ آن را از ریشه برگردانید تا برنامهی آزمون در CI با کد غیرصفر تمام شود.
روالها
ادعا Assert
روال ادعا(cond: منطقی)واردسازی آزمایش
روال جمع(الف: صحیح، ب: صحیح): صحیح:
برگشت الف + ب
پایان
روال ریشه:
آزمایش.بازنشانی()
آزمایش.ادعا(جمع(۲، ۲) == ۴)
آزمایش.ادعا با پیام(جمع(۱، ۱) == ۲، "یک و یک")
آزمایش.ادعای درستی(درست)
آزمایش.ادعای نادرستی(جمع(۰، ۰) == ۱)
آزمایش.ادعای برابری عدد(جمع(۳، ۴)، ۷)
آزمایش.ادعای برابری عدد۶۴(۱۰۰۰۰۰۰۰۰۰۰ برگردان صحیح۶۴، ۱۰۰۰۰۰۰۰۰۰۰ برگردان صحیح۶۴)
آزمایش.ادعای برابری اعشار(۰.۱ + ۰.۲، ۰.۳، ۰.۰۰۰۱)
آزمایش.ادعای شامل بودن("زبان سلام"، "سلام")
آزمایش.ادعای برابری رشته("سلام"، "سلام")
آزمایش.ادعای برابری منطقی(۱ < ۲، درست)
آزمایش.ادعای نابرابری عدد(۱، ۲)
آزمایش.ادعای نابرابری رشته("الف"، "ب")
آزمایش.ادعای خالی بودن(پوچ)
آزمایش.ادعای برابری عدد(جمع(۲، ۲)، ۵)
سرچاپ آزمایش.موفق()، آزمایش.ناموفق()
سرچاپ آزمایش.خلاصه()
پایانادعا با پیام 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