首页 > 解决方案 > 以“#”和“.”为前缀的单元测试命名约定的名称是什么?在测试名称中?

问题描述

我看过一些这样写的测试,我想知道是否有人知道这个约定的名称是什么:

describe("users/domains/services/user-service", () => {
  describe("UserService", () => {
    describe(".create()", () => {
      ...
    });

   describe(".update()", () => {
      ...
   });
    
    // Static method
    describe("#new()", () => {
      ...
    });
  });
});

如果有人可以帮助我,我将不胜感激。

标签: javascriptnode.jsunit-testingmocha.jschai

解决方案


这种引用方法或变量的方式来自jsdoc,称为namepath。例如,MyClass#myMethod可以在文档注释中使用,以引用名为#myMethod的类中命名的方法MyClass

在mocha.js 文档中使用这种约定进行 JavaScript 测试非常突出。betterspecs.org提出了一种等效的风格作为 Ruby 的最佳实践,并且那里有一些关于它的讨论。我不知道是谁首先采用了这种风格,我认为它没有名字。

在这个相关的 StackOverflow 问题中有一些更相关的答案。


推荐阅读