摩卡分层fgrep

时间:2017-10-04 09:44:10

标签: mocha

我有一个测试文件,其结构如下:

android:layout_gravity="center"

我只想执行ONE Client的一个场景,例如“Client C”+“Scenario 5”。

使用--fgrep我设法选择给定客户端的所有场景:

describe('Client A', function() {
  describe("Scenario 1", function() {...});
  describe("Scenario 2", function() {...});
       :
       :
});

describe('Client B', function() {
  describe("Scenario 1", function() {...});
  describe("Scenario 2", function() {...});
       :
       :
});
    :
    :

或所有客户的特定方案:

mocha test.js --fgrep "Client C"

有没有办法强制进行一些分层选择才能实现我想要的目标?

1 个答案:

答案 0 :(得分:1)

--fgrep--grep匹配单个测试的全名。 Mocha通过将外部到内部描述块的所有名称以及您在定义测试时使用单个空格作为分隔符时赋予it的名称来构建测试全名。因此,如果我们想象您的function () {...}回调都包含一个it("something", () => {}),那么套件中测试的全名就是:

Client A Scenario 1 something
Client A Scenario 2 something
Client B Scenario 1 something
Client B Scenario 2 something

(并且可能你也有“客户C”等)。

因此,您可以通过执行以下操作仅选择与客户端A的方案2相关的测试:

mocha --fgrep "Client A Scenario 2"