Jeśli pytanie dotyczy tylko Czy projekt pojedynczej jednostki testowej może obsłużyć wszystkie trzy? Odpowiedź brzmi: Tak, ale zamiast iść dalej, powiedziałbym, że to zależy. Osobiście staram się umieścić wszystkie testy w jednym projekcie, z osobnymi folderami w projekcie dla każdego zespołu (w razie potrzeby z dodatkowymi podfolderami). Ułatwia to uruchomienie całego zestawu w VisualStudio. Jeśli masz tysiące testów, pojedynczy projekt może okazać się zbyt trudny do utrzymania. Zazwyczaj dzielimy je, ponieważ nie chcemy wdrażać ich z naszym produktem. Niezależnie od tego, czy podzielisz je na bibliotekę, czy na rozwiązanie, są zalety dla obu.
Docelowo chcesz, aby testy były natychmiast dostępne dla wszystkich programistów, dzięki czemu programiści będą wiedzieć, gdzie je znaleźć, gdy zajdzie taka potrzeba. Potrzebujesz również środowiska bez przeszkód i minimalnych nakładów na pisanie nowych testów. Testy muszą również zostać szybko skompilowane i wykonane - struktura projektu może odegrać w tym wszystkim rolę.
Można również wziąć pod uwagę, że możliwe są różne poziomy testowania, takie jak testy dla jednostki, integracja lub automatyzacja interfejsu użytkownika. Segregowanie tego typu testów jest możliwe w niektórych narzędziach przy użyciu kategorii testowych, ale czasami łatwiej je wykonać lub zgłosić, jeśli są oddzielnymi bibliotekami.
W przypadku małych projektów, w których nie ma wielu projektów, preferowanym podejściem jest zwykle stosunek 1: 1.
Pojedynczy projekt testowy, który może obsłużyć wszystkie trzy. –
Świetnie. Dziękuję Ci! – Sam