Am I correctly testing that methods from Kernel have been called?
I know MiniTest has an expectations framework, but I'm not familiar with it.  I use rspec-expectations to accomplish this, like so:

describe ClassName do
  let(:subject) { described_class.new }

  describe '#method' do
    it 'should sleep 3 times and output hello world' do
      expect(subject).to receive(:sleep).exactly(3).times
      expect(subject).to receive(:puts).with('Hello world!').exactly(3).times

      subject.method
    end
  end
end


I know this doesn't directly answer your question, but my hope is it leads you in the right direction.