Size: a a a

Saint P Ruby Community

2021 February 03

VD

Vla Dem in Saint P Ruby Community
если тесты запускаются в транзакциях, то и в before(:suite) нет смысла что-то чистить — там должно быть чисто)
источник

VD

Vla Dem in Saint P Ruby Community
а если не чисто — это косяк; от этого потом кому-то приходится с flaky тестами разбираться)
источник

ME

Makar Ermokhin in Saint P Ruby Community
Если только ты не самый умный с before(:all)
источник

VD

Vla Dem in Saint P Ruby Community
Makar Ermokhin
Если только ты не самый умный с before(:all)
это и есть "косяк")
источник

RR

Ruslan Ryabov in Saint P Ruby Community
ну вот before(:all) бывает, встречается такое удовольствие 😓
источник

VD

Vla Dem in Saint P Ruby Community
правильно писать `before_all`)
источник

AR

Anna Razumova in Saint P Ruby Community
Vla Dem
удалить нафик и включить use_transactional_tests = true
короч это не помогло решить проблему, но я теперь получаю те же туманные падения на локалке, так же как на CI
источник

ME

Makar Ermokhin in Saint P Ruby Community
Anna Razumova
короч это не помогло решить проблему, но я теперь получаю те же туманные падения на локалке, так же как на CI
Я воевал с таким, но это путь самурая
источник

AR

Anna Razumova in Saint P Ruby Community
Makar Ermokhin
Я воевал с таким, но это путь самурая
как решил? DatabaseCleaner?
источник

ME

Makar Ermokhin in Saint P Ruby Community
Короче, я в модели в before_create (или как то так) и before_delete выводил логи, чтобы понять где то создается и не чистится
источник

ME

Makar Ermokhin in Saint P Ruby Community
И наблюдал долго долго за тестами
источник

AG

Alexander G in Saint P Ruby Community
можно попробовать через rspec bisect
источник

AG

Alexander G in Saint P Ruby Community
есть шанс найти минимальную последовательность, которая падает
источник

ME

Makar Ermokhin in Saint P Ruby Community
Makar Ermokhin
И наблюдал долго долго за тестами
При этом надо, конечно, зафиксировать seed при котором падает
источник

ME

Makar Ermokhin in Saint P Ruby Community
Alexander G
можно попробовать через rspec bisect
Такой магии я не знал
источник

ME

Makar Ermokhin in Saint P Ruby Community
Но с учетом поправки "есть шанс"...
источник

AR

Anna Razumova in Saint P Ruby Community
Alexander G
можно попробовать через rspec bisect
как использовать?
источник

AG

Alexander G in Saint P Ruby Community
rspec spec --bisect
источник

AG

Alexander G in Saint P Ruby Community
он будет запускать тесты много раз, отсеивая нормальные, пока не найдет те, которые влияют друг на друга
источник

AR

Anna Razumova in Saint P Ruby Community
Alexander G
он будет запускать тесты много раз, отсеивая нормальные, пока не найдет те, которые влияют друг на друга
звучит полезно
источник