unit testing על סינגלטונים זה דבר לא נעים.
מעבר למה שציינת, הרעיון שטסט אחד משפיע על סינגלטון וההשפעה ניכרת גם בטסט השני, זה לא לעניין. מי רוצה לאתחל סינגלטונים כל פעם מחדש?
זו, אגב, הסיבה שגרסה הישנה של קיינגורם ופריימוורק כמו pureMVC שנסמכו בגדול על סינגלטונים נכשלו...
אני ממליץ על פרייוורק שיודע לעשות IoC, או "הזרקה" במילים אחרות. Parsley הנהדרת או Swiz שממש עתה יצאה עם גרסת מייג'ור רשמית.
הפריימוורקים הללו נותנים את האפשרות לצור קונטקסטים של הזרקה יחודיים לצריכה מסויימת. היריעה קצרה, אבל אומר שאפשר להחליט שעבור הטסטים מזריקים אימפלמנטציה מסויימת של אינטרפייס, כאשר בבדיקות הוא לא יוזרק כסינגלטון אלא כאינסטנס חדש כל פעם.
אני יודע שזה מעט לא ברור, אבל שווה לחקור לשקול, בייחוד לפרוייקטים גדולים, בייחוד לכאלה שגייסו לא מעט אמון של משקיעים
בהצלחה, כפרה.