Wydaje się, że istnieje niewiele zasobów o klejnocie fabrication
i nie mogłem znaleźć dobrego porównania funkcji, które odróżniają go od factory_girl
. Od wersji fabrication-2.2.3
i factory_girl-4.0.0
, nie mogę znaleźć żadnej różnicy. Jak porównać te klejnoty? Co może uczynić fabrication
lepszym wyborem i dlaczego? Czy obaj się zjednoczyli?Porównywanie Girl Factory z produkcją
Odpowiedz
Factory Girl ma dodatkową koncepcję trait
, która jest naprawdę przydatna.
Inne funkcje wydają się mniej więcej podobne.
Jeśli chcesz wybrać jeden, należy rozważyć liczbę pobrań:
może być przydatna, gdy szukasz pomocy /wsparcie.
Doktorat z fabryki mieszka tutaj: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – apneadiving
Dzięki. Istnieje wyraźna różnica w popularności (https://www.ruby-toolbox.com/categories/rails_fixture_replacement), ale niekoniecznie oznacza to, że jedna jest lepsza od drugiej. Może tak być, ponieważ jeden jest starszy, lub jest bardziej powszechny, lub dlatego, że ostatnio właśnie się dojrzal. –
Pojęcie cech jest interesujące (https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#traits) i najwyraźniej nie jest zawarte w 'fabrication'. Dzięki. –
Tylko za to, co jest warte, uważam, że produkcja jest szybsza, a ja doświadczyłem mniej błędów. Myślę, że duża luka w popularności wynika głównie z tego, że produkcja jest znacznie nowsza.
Dzięki @Andrew. Czy mógłbyś wyjaśnić, że masz mniej błędów? Jakie rodzaje błędów? –
Zasadniczo z FG natrafiłem na trudne do debugowania błędów ze skojarzeniami itp. Od czasu do czasu, a przy Fabrication miałem o wiele mniej tego. – Andrew
Zaczęliśmy od Factory Girl, ale zakończyliśmy zdzieranie na rzecz konstruowania "rzeczywistych" egzemplarzy modelu AR; decyzja, którą teraz podejmuję.
Do tej pory lubię Fabricator. Łatwiej jest wyśmiewać skojarzenia, w których absolutnie nic nie ma potrzeby, aby trafiło w prawdziwą bazę danych, co w FG nigdy nie było w porządku. YMMV, oczywiście, i jest jeszcze:
Nigdy nie używaj teoretyzmu zanim nie masz danych. Niezmiennie kończy się to przekręcaniem faktów, aby dopasować je do teorii, zamiast do teorii pasujących do faktów. - Prawo Holmesa z faktycznych Teorie
+1: Gdy chcesz uniknąć dostępu do bazy danych, po prostu działa "Fabricator.build (: nazwa-fabryki)". Próbowałem używać zarówno 'FactoryGirl.build' i' FactoryGirl.build_stubbed' bez powodzenia - wydaje się, że myli się z skojarzeniami modelu, i kończy trafienie w bazę danych. – rsenna
Ten temat jest dostępny tutaj: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md. Dodaj hak do ActiveSupportNotifications i zobacz, czy twój test trafia do DB. Musisz być ostrożny, jak budować swoje fabryki, aby uzyskać build_stubbed, aby uniknąć trafienia w DB. To na pewno działa dobrze. – justingordon
Niedawno zrobiłem profilowanie Wykonawca vs FactoryGirl bo byłem ciekaw o komentarzach wydajności wymienionych przez innych. Znalazłam też Wykonawca będzie nieco szybciej (ale tylko przy użyciu stowarzyszenia):
https://ksylvest.com/posts/2017-08-12/fabrication-vs-factorygirl
Biorąc pod uwagę czasy pracy były tak blisko, wolę Wykonawca nad FactoryGirl ponieważ utworzenie stowarzyszenia będzie domyślnie propagować build vs tworzyć (zamiast o konieczności określenia strategii).
- 1. Factory Girl: Tworzenie powiązanych rekordów
- 2. Jak zdefiniować tablicę/hasz w Factory Girl?
- 3. Factory Girl/Rspec - Błąd "Trait Not Registered"
- 4. Factory Girl: Automatyczne przypisywanie obiektów macierzystych
- 5. Sekwencje Factory Girl nie zwiększające wartości
- 6. Jak korzystać z Pry w ramach Factory Girl Rails?
- 7. Tworzenie użytkowników w programie Factory Girl z OmniAuth?
- 8. Rails 4 Action Mailer Previews and Factory Girl issues
- 9. Jak zdefiniować wiele powiązanych obiektów za pomocą Factory Girl?
- 10. Rails 3 Factory Girl + Wiele do wielu relacji
- 11. Testowanie kontrolera za pomocą RSpec, Devise, Factory Girl
- 12. Factory Girl: czy można ponownie otworzyć definicje fabryczne i je uzupełnić?
- 13. Factory Girl Newbie: Jak stworzyć nowy rekord tylko jeśli jeszcze nie istnieje
- 14. Factory niezarejestrowany: użytkownik
- 15. Klasa Factory - Save Objects
- 16. C# Factory Pattern
- 17. Różnica między czystą produkcją a Indukcją
- 18. Porównywanie dwóch list z MSpec
- 19. Szybkie porównywanie ciągów z listą
- 20. Nie można połączyć Factory/DI
- 21. Lista w katalogu (Model) Factory
- 22. NUnit [TestCaseSource] z wieloma argumentami, jak z MbUnit's [Factory]
- 23. Wiosna Bean z Factory Method z XML Java Config
- 24. Jaka jest różnica między rozwojem a produkcją w MyFaces
- 25. Kwerenda CAML Porównywanie DateTime z Eq
- 26. Porównywanie ciągów z! = Operator dającym różne wyniki?
- 27. Porównywanie daty z sysdate w Oracle
- 28. Porównywanie położenia UITouch z prostokątem UIImageView
- 29. Przechowywanie i porównywanie obiektów z bazy danych
- 30. Porównywanie zdań zgodnie z ich znaczeniem
Zgaduję, że możesz wybrać odpowiedź :) – apneadiving
@apneadiving Życzę, ale wszystkie odpowiedzi są albo subiektywne, albo niekompletne. Chciałbym, żeby ktoś mógł zamieścić obiektywne porównanie. –