文档测试
Deno 支持对您的文档示例进行类型检查和评估。
这确保了您文档中的示例是最新的并且可以正常工作。
基本思想是:
/**
* # Examples
*
* ```ts
* const x = 42;
* ```
*/
三个反引号标记代码块的开始和结束,语言由语言标识符属性决定,可以是以下任何一种:
js
javascript
mjs
cjs
jsx
ts
typescript
mts
cts
tsx
如果未指定语言标识符,则语言将从提取代码块的源文档的媒体类型中推断。
另一个支持的属性是 ignore
,它告诉测试运行器跳过对代码块的类型检查。
/**
* # Does not pass type check
*
* ```typescript ignore
* const x: string = 42;
* ```
*/
如果此示例位于名为 foo.ts 的文件中,运行 deno test --doc foo.ts
将提取此示例,然后对其进行类型检查并将其作为独立模块进行评估,该模块与被文档化的模块位于同一目录中。
要文档化您的导出,请使用相对路径说明符导入模块
/**
* # Examples
*
* ```ts
* import { foo } from "./foo.ts";
* ```
*/
export function foo(): string {
return "foo";
}
有关 Deno 中测试的更多指南,请查看