Testowanie wystąpienia zdarzenia
Podczas implementacji testów jednostkowych zachodzi czasami potrzeba napisania kodu weryfikującego zachowanie obiektów po wystąpieniu zdarzeń. Scenariusz taki jest wspierany przez tzw "mocking frameworks". Za świetny przykład może służyć odświeżony w wersji 3.5 mechanizm biblioteki Rhino.Mocks ze swoją metodą rozszerzającą Raise.
Co jednak w sytuacji odwrotnej, gdy nie chcemy badać reakcji na zdarzenie, a jedynie upewnić się, że zostało ono wywołane? Sposób przedstawiony tutaj ("Test Event Was Raised") nie bardzo mi się podoba. Wystarczyło jednak chwilę pomyśleć żeby strząchnąć zaciemnienie z ciemienia i napisać:
1: var someClass = new SomeClass();
2: bool eventRaised = false;
3: someClass.TestEvent += delegate
4: {
5: eventRaised = true;
6: };
7:
8: someClass.ShouldRaise();
9: Assert.IsTrue(eventRaised);
Mi to wygląda bardziej "kompaktowo".
Powiadamianie o komentarzach
Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj
Subskrybuj komentarze za pomocą