Próbuję zmienić moje testy jednostkowe ArcGIS i zacząć używać makiet (ja używam nosorożca).
Kiedy zacząłem pisać testy, zauważyłem, że muszę zacząć kpić z wielu obiektów i stosować wiele metod nawet dla pojedynczego testu.
Na przykład - mój pierwszy kontroler dostaje RelationshipClass
(tak muszę skrótową z IWorkspace
i wracającą IRelationshipClass
), a następnie pobiera również IFeature
(stub), a na końcu nazywa stubRelClass.GetRelatedObjects(stubFeature)
, aby zwrócić ISet
pozostałych IFeatures
.jednostka zapach testowy
Czy to normalne, że trzeba wyczarować tak wiele obiektów i metod, aby je przekazać? Czuję też, że naprawdę potrzebuję przejść przez kod (tak - wiem, że powinienem napisać testy najpierw, wciąż próbuję tego), aby dowiedzieć się, co dalej i co powinienem zwrócić .
Mam również problem z kpiącymi klasami com, które implementują więcej niż jeden interfejs. W kodzie produkcji I QI je między interfejsami. Jak utworzyć symulację, która implementuje oba interfejsy w czasie wykonywania?
O wprowadzenie do obiektu, który przecina głębokie poziomy - będzie to „save” mnie od szydząc trochę więcej obiektów (od tego jednego obiektu obejmie dla nich), ale to wciąż trzeba kpić o taka sama ilość metod, prawda? Czy mam to źle? –
Nie chodzi o to, aby "uratować cię" przed kpiną z większej ilości przedmiotów. Chodzi o to, że test próbuje ci powiedzieć, że jest tam brakująca koncepcja, dlatego jest tak skomplikowana. –