Lesson 11 of 22
Recursive Fakes
In this lesson
With NSubstitute (external link, opens in new tab), Roy Osherove shows recursive fakes (external link, opens in new tab): when a person object is faked, its manager property returns a fake (external link, opens in new tab) as well, instead of each returned object being set up on its own line. He says Isolator (external link, opens in new tab) was the first framework to do this and that it makes tests more maintainable (external link, opens in new tab), because a new property or method that returns an object is faked by default. He then sends the group back to the exercises, up to the login manager that uses a static method.
Transcript
[00:07] (external link, opens in new tab) מה שאני יכול לקבל אוטומטית זה person שהמנדר שלו הוא גם פיק בלי לעשות את זה בשתי שורות זאת אומרת אם פעם רציתי שגם פרו נקודה מנגר אם רציתי שפה מנג'ר יהיה פייק (external link, opens in new tab) הייתי צריך להגיד אם הייתי רוצה להגיד ככה, אם הייתי רוצה בוא כבר לא זוכר את הAPI כבר מתבלבל אה נכון when נכון
[00:38] (external link, opens in new tab) פעם אם הייתי רוצה להגיד ככה P when manג'ר אה זה propפרerטy נכון אפילו לא צריך לעשות ספון מצטער שאני מבלבל אתכם פשוט אני לא רגיל לעבוד באמצע הפסידות בדרך כלל פיק זי אבל רציתי לעשות אם אני אעשה p manager לעשות aserט is not או
[01:19] (external link, opens in new tab) מה שאני אמור לקבל פה זה שמנגר בי default הוא לא נעל ברגע שאני יש לי סבסיט לפרסם ותשימו לב שגם מנג'ר מקדם מנג'ר גם לא ינן גם המנג'ר שלו לא יובל פעם בטestטים לכל לכל פרופרטי או פונקציה שמחזירה אובייקט ורציתי שהוא יהיה פייק הייתי צריך להגדיר את זה בשורה היום הנושא של recקury fיקס הוא אחד הדברים השולטים הפרימוקט הראשון שעשה את זה דרך אגב היה אסוליטור והרעיון היה שאם יש לך משהו שכבר מחזיר אובייקט והot objectט שלך הוא פייק
[01:51] (external link, opens in new tab) אז אז כל הרט object שלו הם fake (external link, opens in new tab) by default ואז הest הרבה יותר maintainable (external link, opens in new tab) אחרת אם מחר אני מוסיף עוד פרטי שלא אכפת לי ממנו בטestינג אבל מישהו משתמש בו אני צריך להגיד שהוא פ כדי שהוא יחזיר איזשהו ערך אחרת הטestטים הישנים של אולי הם פשוט מכשלים ככה by default ברגע שאני עושה substitute for person אז כל דבר שאפשר לעשות לו פיק הוא fake ואז אני יכול או לשנות את ההתנהגות שלו או שבדfaultט הוא פשוט stub (external link, opens in new tab) שמחזיר default vales זה החלק היפה שבשורה אחת אני אומר person אכפת לי ממנו אבל כל מה שפסון מחזיר לא אכפת לי עד שעד עד שיוכל אחרת ואם מחר יש לי פרפרטי חדש או פונקציה חדשה שמחזירה אובייקט עדיף אותם f ולא יקרה שום דבר אם מישהו יקרה להם אם מישהו יקרא להם את
[02:39] (external link, opens in new tab) מה שאני מבקשת לעשות עכשיו זה שתמשיכו את ה את הז כולל maner 2 ולעשות את הCIז עד login manager with static זאת אומרת כשאתם מגיעים לפה לעצור ופה אנחנו נלמד עוד טכניקות בסדר אז להמשיך בבקשה את התרגילים עד מספר שמונה כולל שאלות דרך אגב שאלה Ja.