При написании утверждений для моих тестов сбои подтверждений не дают достаточно информации без необходимости открывать IDE и начинать отладку.
Например, у меня есть некоторый код, который использует библиотеку 'assert':
import * as assert from 'assert'
// some code
assert(someObject.getValue() === 0)
Я просто получаю
AssertionError [ERR_ASSERTION]: false == true
+ expected - actual
-false
+true
Это сообщение об ошибке на самом деле не имеет смысла. В качестве обходного пути я добавил его в сообщении в утверждении:
assert(someObject.getValue() === 0,
'\nActual: ' + someObject.getValue() +
'\nExpected: ' + 0)
Есть ли лучший, более чистый способ просто показать ожидаемые и фактические значения, не перекрывая сообщение при каждом утверждении? Я также попытался создать оболочку assert
, но не смог извлечь фактические и ожидаемые значения из выражения.
РЕДАКТИРОВАТЬ: assert.strictEqual
решает эту проблему только для равенства. Но как только включается любой другой оператор, возникает та же проблема (например, assert(someObject.getValue() > 0)
Любой совет будет оценен.
Спасибо!