Я предлагаю вам рассматривать ваш источник случайности (генератор случайных чисел или что-то еще) как зависимость.Затем вы можете проверить его с известными входными данными, предоставив поддельный ГСЧ или один с известным затравочным материалом.Это удаляет случайность из теста, сохраняя его в реальном коде.
Если вы фальсифицируете ГСЧ, вы можете проверить, что произойдет, если он естественным образом поставит игрока на препятствие - как он вытеснит игрокаконечно, и т. д. Конечно, это зависит от знания того, как класс использует ГСЧ, но лично я достаточно доволен модульными тестами, действующими как «тесты белого ящика» с некоторыми внутренними знаниями.