Я пробовал это как с Mocha, так и с RSpec, и хотя я мог пройти прохождение теста, поведение было неправильным. Из моих экспериментов я пришел к выводу, что проверить, что блок пройден, невозможно.
Вопрос: Почему вы хотите передать блок в качестве параметра? Какой цели будет служить блок? Когда это должно быть названо?
Может быть, это действительно поведение, которое вы должны тестировать с чем-то вроде:
class BlockParamTest < Test::Unit::TestCase
def test_block_passed_during_initialization_works_like_a_champ
l = lambda {|name| puts "Hello #{name}"}
l.expects(:call).with("Bryan")
A.new(&l)
end
end