If you're writing tests that test for that I think you've missed the point entirely of testing. I hope you don't think the typechecker works for logic?
Seriously, just introduce type contracts or a full static type system. Ruby has both.
Yea devs just don't understand that Ruby is strongly typed. In fact, it's the most strongly typed language out there besides Scala. It's just not statically typed.
That does nothing for the fact that gem authors regularly change things without warning and you can’t tell until the code is run. Something a type checker trivially solves for you.
Should be caught easily with regular unit/integration tests. And again, ruby has static type system, you just have to use it.