Mam zakres, w którym stosuję się do obiektu Mongoid w szynach, który działa dobrze podczas projektowania, ale nie podczas testów. W rzeczywistości nie sprawdza się w testach. To jest dokument osadzony.rspec Zakres mongoid działa w fazie rozwoju, a nie w testach.
Rodzic:
class Person
include Mongoid::Document
def self.with_appointments
where(:appointments.not => { '$size' => 0 })
end
embeds_many :appointments, store_as: 'Appointments', class_name: 'Appointment'
end
Wbudowany dziecko:
class Appointment
include Mongoid::Document
embedded_in :person
end
Kiedy uruchomić testy przeciwko mojego modelu zwraca osób czy mają terminów lub nie. Jeśli uruchomię to samo z moim kontrolerem podczas tworzenia w oparciu o bazę danych, odfiltrowuje ona ludzi z pustymi spotkaniami.
Czego mi brakuje?
Przed prosząc mnie, aby zmienić konfigurację bazy danych -
- Nie mam kontroli nad strukturą danych
- Załóżmy nawet nie mieć dostęp do bazy danych
można dodać fragment swojego kodu testowego i rozwoju? w tym konfiguracja – Gashaw
Czy jest coś szczególnego, czym jesteś zainteresowany? Kod testowy i rozwojowy oraz cała konfiguracja z pewnością będzie ogromną ścianą kodu, więc może jest coś bardziej konkretnego? –
Chciałbym zatrzymać test za pomocą Pry i sprawdzić bazę danych. Upewnij się, że zapisy są rzeczywiście utrwalone? Porównaj zapisy w obrębie każdej kolekcji, aby sprawdzić, czy są one takie same, jak oczekujesz. Pomoże w tym niektóre z kodu źródłowego testu. –