AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
当你在包里运行测试的时候,rust会检查你的文档注释里的代码片段,为每个代码片段构建一个独立的可执行程序链接到库(类似集成测试),并运行它们。 当你用cargo test --verbose运行测试的时候,你会发现它用rustdoc --test来运行文档测试,rustdoc把代码片段放到单独的文件里,用样板代码(包含main函数和库引用)包住,编译并运行。 文档测试的目的不是把所有测试放到文档注释中,而是编写正确的文档,让rust保证你的代码片段是经过测试运行的。 有些时候在代码片段里的某些代码行在文档里不重要,不需要展示在文档里,但是又不能影响测试,可以在代码行前面加上#和1个空格。 有时候代码片段需要展示完整的代码(包含main函数和库引入),显然这时候你不希望rust自动给你包一层样板代码了,那样反而编译不通过。rust会自动识别,当你的代码片段包含main函数的时候,它认为是完整的代码,不会再添加样板代码了。 文档里的代码片段可以禁用测试,用\```no_run和尾部的\```包住。假如还不想代码片段被编译,可以用\```ignore替代\```no_run。假如代码片段甚至不是rust语言的,可以在\```后面加语言的名称,比如\```c++或者\```text。rust并不认识这些语言,这种代码块也不会在生成的文档中高亮了。