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 Author

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 Author

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 :)