I see. I think we should make it more explicit and fail the test when the block gets called. In the end that's what we want to prevent:

```ruby
  def test_each_should_raise_if_select_is_set_without_id
    assert_raise(RuntimeError) do
      Post.select(:title).find_each(batch_size: 1) { |post|
        flunk "should not call this block"
      }
    end
  end
```