Dzisiaj spojrzymy na sytuację, w której będziemy potrzebowali nie weryfikować, ale zapamiętać wartości przekazywane do mock objects w celu późniejszego ich wykorzystania. Scenariusz ten jest dość nietypowy, w moim przypadku SUT (System Under Test) rejestrował pewną operację w komponencie odpowiedzialnym za jej uruchomienie w odpowiednim momencie. wykonanie. Rejestracja odbywała się z wykorzystaniem wyrażeń lambda, więc przetesowanie rejestrowanej akcji w sposób “zwykły” nie było możliwe. Oto jak to wyglądało:

I jak przetestować faktyczne działanie zarejestrowanej akcji? O tak, z wykorzystaniem funkcjonalności “WhenCalled()“:

Nie jest to zbyt czytelne i nagroda za design roku zdecydowanie mi się nie należy, więc przed zastosowaniem podobnej konstrukcji należy się porządnie zastanowić (następnym razem to zrobię, jak nic). Niemniej jednak – działa jak powinno.


![[UT-4.1] (Nie)Testowanie metod prywatnych](/_next/image?url=https%3A%2F%2Fcms.devstyle.pl%2Fwp-content%2Fuploads%2F2011%2F08%2Ftesting-768x512.jpg&w=1200&q=75)


