Goodbye (Dynamics) XRM? Epilog

CRM SDK, Dynamics CRM, Testy jednostkowe

Nawiązując do poprzedniego wpisu na blogasku – całkiem niedawno, w czasie prac nad jednym z projektów musieliśmy zmierzyć się z tematem tworzenia testów jednostkowych dla kodu JavaScript metod wywoływanych z poziomu zdarzeń na formatkach systemu Dynamics CRM.

Problemem z tym związanym okazało się wykorzystanie obiektów dostępnych z poziomu Xrm.Page.*. Jest to biblioteka (lub też zbiór bibliotek) pozwalająca na operowanie na danych oraz elementach interfejsu systemu Dynamics CRM. Oczywiście w przypadku testów jednostkowych należałoby zastąpić ww. API stosownym mockiem, stubem, czy też innym fake’m (fejkiem?).
Jakie mamy w tym przypadku możliwości? Okazuje się, że bardzo niewielkie.

Opcja 1 – wykorzystanie Xrm.Page Script Library Template.
Niestety po raz kolejny Microsoft wraz z aktualizacją swojego systemu zabił narzędzie, które mocno ułatwiało prace programistów. Ostatnia wersja SDK, w której był dostępny omawiany szablon, jest dostępna dla systemu CRM wersji 2011. Później narzędzie zniknęło, a firma z Redmond nie zaproponowała programistom jakiegokolwiek zamiennika.

pickard2

Opcja przeznaczona dla osób pracujących z systemem CRM 2011 (software archeology? ;)).

Opcja 2 – framework Fake XRM Page 
Narzędzie, które możemy wykorzystywać w testach jednostkowych. Niestety aktualnie dość mocno niedojrzałe, pozbawione prawie jakiejkolwiek dokumentacji i (co przyznają sami autorzy) „niepokrywające” całego JavaScriptowego API systemu CRM.
Opcja dla posiadających dużą ilość czasu i lubujących się w dłubaniu w cudzych rozwiązaniach (oraz dodatkowo – znających język TypeScript).

Opcja 3 – stworzenie własnego modelu klas, “udającego” Xrm.Page.* na potrzeby testów jednostkowych.
Oczywiście jest to jak najbardziej możliwa czynność, związana niestety ze sporym nakładem pracy.
Opcja dla posiadających dużą ilość czasu i lubujących się w tworzeniu własnych rozwiązań, których przydatności nie zrozumie żaden z właścicieli biznesowych naszych projektów.

Podsumowując – Microsoft ponownie (jak w przypadku Developer Toolkita) usunął z SDK kolejne narzędzie, które było niezwykle przydatne w codziennej pracy osób,  piszących kod rozszerzający możliwości systemu CRM.

pikard1

Na koniec, żeby nie było tak zupełnie pesymistycznie – po wakacjach, na które właśnie się udaję – zamierzam napisać coś nieco, na temat testów jednostkowych, które tworzymy w czasie pisania kodu rozszerzającego możliwości platformy Dynamics CRM (a jednak da się :)).

Total Views: 459 ,

One thought on “Goodbye (Dynamics) XRM? Epilog

Comments are closed.