DEV Community

Discussion on: 5 Commandments for TypeScript programmers

Collapse
 
lexlohr profile image
Alex Lohr

I think it is ok to lie a bit in unit tests as long as the testing data is complete enough not to introduce strange side effects.

For the sake of precision, use enums whenever possible in such cases.

Otherwise, a very good article. Thank you.

Collapse
 
miloszpp profile image
Milosz Piechocki

Hey, thanks for reading!

Regarding unit tests - agreed, I do this too. However, there are some pitfalls, which I mention here.

use enums whenever possible in such cases

I'd say most of the time a union of string literal types is good enough. Also, enums have a runtime cost (const enums do not, though).

Collapse
 
lexlohr profile image
Alex Lohr

a union of string literal types is good enough

You'll thank me later when you have to change the actual values one day (without having to change the enum's identifier).

Actually, I have to admit I didn't even know that there were other enums than const enums. We live and learn.

Thread Thread
 
miloszpp profile image
Milosz Piechocki

You'll thank me later when you have to change the actual values one day (without having to change the enum's identifier).

Yes, good point :)