@dratoo: Nie mam teraz jak sprawdzić, ale wcześniej jak zrobiłem całość (tzn. Wpisałem wszystko co z zadania miał sprawdzić) to nagle importy „nabrały kolorów” i działało...:/
@GaHee: no widzisz, czyli bazy danych też nie mockujesz jako tako tylko tworzysz specjalną wersję na testy. Z mapperem jest to samo, jeśli chciałbyś go zmockować to musiałbyś stworzyć mocki dla metod Map które zwrócą Ci określony obiekt, to droga do nikąd według mnie.

https://stackoverflow.com/a/43875874

Tutaj nawet człowiek z teamu automappera nie widzi sensu żeby go mockować :P W przygotowywaniu testu zrób kawałek kodu z tej dokumentacji http://docs.automapper.org/en/stable/Configuration.html

Oczywiście możesz użyć
@Marmite: Hej, dobre pytanie.
Obecnie mam dosyć frywolną konfigurację, gdyż nie mam Unit Testów w projekcie.
Niestety doświadczenia w testowaniu JS nie mam wcale, głównie zajmuję się C++/AS3/Python, a mam misję ogarnięcia starej biblioteki JS 3kLOC i mnie serce boli, że nie ma testów.
Z wytycznych jakie sobie postawiłem, to to, aby trzymać się typescript również w pisaniu testów.

Teraz na szybko popisałem kilka testów w jest i jest całkiem OK.
James O Coplien - Why Most Unit Testing is Waste

Dość krótki raport nie zostawiający suchej nitki na całym towarzystwie mającym wpływ na testy jednostkowe w projekcie.

Wszechobecny hejt na bezmyślne żyłowanie test coverage do bezsensownych liczb (wspomniane wartości to coś około 60-90%), managerów i leaderów którzy naciskają na taki stopień i oczywiście na Agile ( ͡° ͜ʖ ͡°)

Jednocześnie jest wspomniane aby robić to wszystko z głową.
Pobierz Wyrewolwerowanyrewolwer - James O Coplien - Why Most Unit Testing is Waste

Dość kr...
źródło: comment_HS5EhET7OBwNAlg8B6nHN8kMay2uACiq.jpg
Ja to już niepraktykujący w kwestii developementu, ale ZTCP jedyną funkcją testów jednostkowych było zazwyczaj umożliwienie wpisania do dokumentacji dużego rozdziału o testach (tak, kurde, byli goście, którzy umieszczali tam przebieg KAŻDEGO testu jednostkowego).
Mam pytanie odnośnie testów jednostkowych. konkretny przypadek. Chcemy przetestować taka klasę :

public class Main{
ComplicatedClass field;

public Main(ComplicatedClass field) {
this.field = field;
}

public boolean someMethod() {

if(field.someComplicatedMethod()){
return true;
} else {
return false ;
}
}
}

pytanie czy obiekt ComplicatedClass mam utworzyć w teście w odpowiedni sposób (zależnie od przypadku testowego, czyli dwa przypadki będą ) czy mam ją zamockowac? Klasa ComplicatedClass jest to klasa z mojej
Mirki od #wordpress i #webdev: za kilka chwil albo dni wydamy wtyczkę WPML w wersji 3.4.

Nie chcę zapeszyć, ale jest to wydanie, które warto zachować na dłużej i na pewno do niego zaktualizować, jeśli ktoś używa.

Pamiętam jak wyglądał WPML 2-3 lata temu i jaką miał opinię: niekwestionowany standard wśród wtyczek służących do tworzenia wielojęzycznych stron, ale niestety przy tym spowalniający stronę oraz mający mnóstwo niespodziewanych błędów.

Jakieś 1,5 roku
@krzysztof114: nie jest on oficjalnie kompatybilny z WPML. Nie znaczy to jednak ze nie dziala: po prostu nigdy autor motywu ani zaden uzytkownik nie zglosil nam go do przetestowania i wydania opinii czy dziala czy nie.

Jesli w motywie widzisz ze wszystkie stringi ktore chce on wyswietlic przechodzą przez standardowe funkcje wordpress do l18n ( __() czy _e() ) to WPML to spokojnie przetłumaczy

Jesli znajdziesz ze jednak nie dziala wszystko
@konradk: PoEdit znam, to nie problem. Dziwi mnie, to że we wtyczkach są te pliki .po i .mo a tłumaczenia nie działają. Przychodzi mi do głowy taka myśl, że one nie są w standardzie a ktoś kto instalował LocoTransalte je stworzył. Pozostaje więc Twój produkt. Fajna filozofia z tłumaczeniami. Wielkie dzięki za wyjaśnienie.
@Gottek: Jeśli to ma być prawdziwy unit test, to mockujesz wykonanie funkcji $q.reject żeby zwróciła to co chcesz i sprawdzasz czy to zostało zwrócone. Ewentualnie sprawdzasz czy została wykonana.
@angular: po co piszesz testy CRUD? To są przecież elementarne operacje więc nie warto ich testować. Jak już chcesz takie rzeczy robić to ogarnij jakąś bazę w pamięci, dorzuć elementy do bazy przy setUp i wykonuj operację. Jak będziesz sprawdzać delete to i tak będziesz musiał zrobić selecta, tak samo z updatem i insertem.
return context.SaveChanges() == 1;


@angular: SaveChanges() zwraca liczbę wpisów, które zostały zapisane do bazy. Jeśli wyedytujesz kilka rekordów i wtedy wywołasz SaveChanges() to zwrócony wynik >1.