Cardano JS SDK SDK 互联网档案馆的存檔,存档日期2013-12-21
其他包件测试用费
测试
见 代码覆盖报告。 。 。 .
测试
A 类 单位测试 专用 日志。 。 。 .
import { createLogger, logger } from '@cardano-sdk/util-dev';
import { deepStrictEqual } from 'assert';
logger.debug('Some debug data');
logger.error('Some error data');
// etc...
const newLogger = createLogger({ record: true });
newLogger.info('another message');
newLogger.debug({ test: 42 }, 'some message');
newLogger.error('error message', new Error('example error'));
deepStrictEqual(newLogger.messages, [
{ level: 'info', message: ['another message'] },
{ level: 'debug', message: [{ test: 42 }, 'some message'] },
{ level: 'error', message: ['error message', new Error('example error')] }
]);
此记录器被明确设计为用于单位测试: 它使单位测试输出尽可能干净( 仅使用 fatal )),但在必要时,它提供了快速而容易的方法来增加测试的动词性而无需修改任何文件.
也提供了录音的选择 全部登录值 检查测试程序记录的内容.
测试开发流程
在开发/维持/审查单位测试时,我们经常从壳体运行单位测试命令:
yarn test
只要所有测试都通过 我们甚至不需要 TestLogger。 。 。 .
但有时有些测试失败... 有时...
为了调查测试失败的原因,访问日志可能有用.
如果测试是使用 TestLogger,后者允许我们通过简单的环境变量访问和/或自定义日志.
要增加日志级别,只需使用 TL_LEVEL 环境变量 :
TL_LEVEL=info yarn test
默认, TestLogger 用途 用户检查 联 合 国 options 对象可以使用下列环境变量进行定制:
TL_ARRAY地图到maxArrayLength默认为100。 。 。 .0地图到Infinity。 。 。 .TL_BREAK地图到breakLength。默认在 tty 或90否则.0地图到Infinity。 。 。 .TL_COLOR地图到colors默认为true{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}就一块false否则.TL_COMPACT地图到compact默认为3。 。 。 .0地图到false。 。 。 .TL_DEPTH地图到depth默认为2。 。 。 .0地图到Infinity。 。 。 .TL_HIDDEN地图到showHidden默认为false。 。 。 .TL_PROXY地图到showProxy默认为false。 。 。 .TL_STRING地图到maxStringLength默认为1000(无)10000作为util.inspect页:1.0地图到Infinity。 。 。 .
因此,如果(例如)我们需要记录完整的嵌入物和 Proxy我们可以运行我们的测试命令:
TL_PROXY=true TL_DEPTH=0 TL_LEVEL=info yarn test
虽然 util.inspect 它可以被深度定制(让我们也自定义我们的日志),它的缺点是它的输出不能被剪切并粘贴在源文件上或者执行POST等.
如果我们需要从日志上切出一些东西 我们可以指示 TestLogger 用于 JSONBig.stringify 相反,这显然会使 TestLogger 忽略自定义的环境变量 util.inspect。 。 。 .
TL_LEVEL=info TL_JSON=true yarn test