Zobacz projekt swojego projektu. Jeśli znajduje się w dowolnym miejscu blisko układu MVC lub jednej z jego opcji, powinieneś mieć różne poziomy różnych złożeń. Utwórz jeden podzespół testowy dla każdego poziomu swojego projektu.
Nasz projekt testowy zwykle działa w miejsce projektu, który tworzy plik EXE. Nasz projekt EXE to cienka powłoka, która przekazuje informacje i zdarzenie zespołowi wypełnionemu klasami kontrolerów, które zawierają kod większości osób umieszczonych w projekcie EXE. To pozwala projektowi testowemu udawać, że jest plikiem EXE w 90% normalnego procesu testowania.
Wciąż opracowujemy najlepsze rozwiązanie dla rzeczywistych przypadków testowych. Obecnie mamy kilka głównych poziomów naszego narzędzia ramowego, obiektów Applicaiton, struktury interfejsu użytkownika, poleceń, kontrolerów interfejsu użytkownika i EXE. Mamy jeden zestaw dla każdego poziomu z wyjątkiem EXE (który jest testowany ręcznie). Podczas edycji zespołu ładujemy zespół testowy dla tego poziomu. Kiedy musimy zrobić coś, co dotyka każdego poziomu, musimy załadować wszystkie zespoły testowe.
Podczas naszego procesu budowania jednym przyciskiem uruchamiamy projekt testowy exe. (Mamy oddzielne narzędzie do tego).
Wypróbuj InternalsVisibleToAttribute (target Assembly), a następnie testy jednostek mogą uzyskać dostęp do wewnętrznych członków. Prywatne wymaga hackaroundów za pomocą refleksji, więc zawsze zaznaczam je wewnętrznymi, jeśli wymagają niezależnych testów. – cfeduke
(I myślę, że OP robi już to, co zasugerowałeś, zastanawia się, czy rozwiązanie powinno mieć wiele projektów testowych, czy też powinno istnieć oddzielne rozwiązanie, które zawiera tylko testowe projekty.) – cfeduke
cfeduke: dzięki za skierowanie mnie na InternalsVisibleToAttribute! – FOR