Какое поведение вы пытаетесь проверить? Что вы получаете случайные элементы из массива? Если это так, просто запустите тест, пока тот же вызов не вернет элемент, который не соответствует последнему запуску.
Как бы это использовать? Если вам нужен произвольный доступ к массиву, почему бы не просто array.shuffle!
, а затем выполнить итерацию массива?
Array#sample
может дать последовательные эквивалентные результаты; ожидается, что так и будет. Если вы не хотите получать одинаковые результаты одновременно, вам придется поддерживать состояние и цикл, пока вы не получите результат, который не был последним, или вы не захотите использовать что-то вроде моего предложения случайного выбора (которое никогда не будет дать повторяющиеся результаты).