Является ли хорошей практикой в юнит-тестах всегда использовать === вместо ==?
Преимущество:
- защищает от случаев типа: "код возвращает false вместо пустой строки, тест не видит разницы, так как для == это одно и то же, но вызывающему коду нафиг не нужен bool вместо строки".
А если юзать strictEqual вообще везде, то не будет риска забыться и допустить где-то обычный equal.
Недостаток:
- если юзать его вообще везде, то это визуально засоряет код тестов. assert.strictEqual длиннее, чем assert.equal, и то же самое с deepStrictEqual. При этом в 90% проверок оно не нужно.
И если оно так уж нужно, то почему тогда во всяких assertion library'ях не сделали короткую версию, чтобы меньше засоряло, или вовсе не сделали именно === во всех assert.equal?