Hacker News new | ask | show | jobs
by byby 1115 days ago
You have to change the semantics of the function to make it unit testable. Literally tell me how else can you test that function with a unit test?

By definition a unit test can only test functions that return data. So there's no other option here.

1 comments

Let me tell you your mind is going to be blown once you learn about Monads.

A mutable object is functionally identical to a return value if you control the initial state and lifetime of the object. Like you can do in a unit test.

And as I demonstrated in my other comment I 100% retained the semantic structure of the function whilst making it 100% unit testable.