自动生成Intern 4功能测试的文档

时间:2018-07-26 11:07:02

标签: typescript intern typedoc

我想为Intern 4功能测试自动生成一些文档。我尝试使用typedoc,它在解析对象页面函数时效果很好,但是在功能测试套件上失败,例如在类似

的文件上
/**
 * This is a test comment for general purpose
 */

/**
 *
 */
const { registerSuite } = intern.getInterface('object');

const { url } = intern.getPlugin('conf');

import { 
  tryLogin, 
  pollForDElement, 
  clickByDId,
  clickSeq,
  verifyGantt,
  verifyIcon,
  verifyCell
} from '../objectPage';


declare let ui: any;
let grid:string;
let id:string;


  registerSuite('cells-pre-test',
    {
      /** 
       * this is a test comment for a test 
       * 
       */
      'login'()
      {
        return this.remote
          .setFindTimeout(20000)
          .setPageLoadTimeout(20000)
          .setExecuteAsyncTimeout(20000)
          .get(url)
          .then(tryLogin('xxx', 'xxx'));
      }
    });

使用命令

typedoc --module commonjs --target ES6 --out docs/ tests/

只是通用注释出现在生成的文档中,而不是测试套件的注释。

有人能帮助我弄清楚这个问题还是建议使用自动Typescript解析的替代工具?

谢谢

1 个答案:

答案 0 :(得分:0)

Typedoc仅提取某些类型的元素的注释,例如模块,导出的函数,类和类成员。测试功能没有什么特别的特殊之处(它只是通用对象中的一个方法),因此Typedoc不会关注任何相关注释。 (请参见https://github.com/TypeStrong/typedoc/issues/821。)

我不知道会提取测试注释的任何JS或TS文档工具。一种可能性是使用Typedoc的JSON输出功能(typedoc --json <json file>)输出项目的JSON描述。然后,您可以编写一个用于遍历JSON数据以查找文档注释并根据找到的内容创建文档文件的工具。这可能与诸如@test之类的自定义doc标签一起使用效果最佳,以便该工具可以识别与测试相关的注释。