top | item 34420210

(no title)

fxn | 3 years ago

This is not true.

In Ruby, tests are the same you'd write in any other language. You test that things do what they are supposed to do, not the types of parameters or return values.

discuss

order

bobbylarrybobby|3 years ago

Ok but if you can't constraint the types passed to a function then the universe of objects you have to test is massive. For instance you may have a performance benchmark that checks that a certain operation runs in a certain big O -- say, you want to make sure a contains(collection, elem) functions runs in constant time. If you can't constrain the type of collection (to be some kind of Map, say) then you are left testing that all paths that call contain do so with a Map and not, say, a List. In a typed language the type system would ensure that for you.

semiquaver|3 years ago

Try sorbet in a real project before you make this claim. It’s not perfect but it’s pretty good.

sdf4j|3 years ago

That example is not very grounded on reality, isn't it?