skonfigurowałem środowisko testowe wg tego tutoriala:
http://pat.github.io/thinking-sphinx/testing.html
mam wyłączone w spec helper:
config.use_transactional_fixtures = false
Napotkałem dziwny problem, jeśli zdefiniuje rekordy wewnątrz bloku it “should do something” to sphinx ładnie je znajduje, natomiast jeśli te same rekordy są zdefiniowane za pomocą let() lub w bloku before to ich nie widzi.
let
w rspecu jest ładowane ‘leniwie’ - kod w bloku zostanie wykony dopiero, gdy pierwszy raz poprosisz o zmienną. Jeśli tworzysz w let
rekord w bazie, to o ile nie wywołasz zmiennej, rekord nie zostanie utworzony. Zawsze wykonywany jest kod z let!
. Jesteś pewien, że te z before też nie są tworzone?
Tutaj więcej o różnycy między let
i let!
: https://www.relishapp.com/rspec/rspec-core/docs/helper-methods/let-and-let
1 Like