Как выполнить тест в Мокко с определенным именем и под определенным родителем?

#javascript #mocha.js

#язык JavaScript #mocha.js

Вопрос:

Рассмотрим следующие тестовые примеры:

 describe("parent1", () =gt; {  it("mytest", () =gt; {  // ...  }); });  describe("parent2", () =gt; {  it("mytest", () =gt; {  // ...  }); });  describe("parent1", () =gt; {  it("myothertest", () =gt; {  // ...  }); });  describe("parent2", () =gt; {  it("myothertest", () =gt; {  // ...  }); });  

Я в основном хочу иметь возможность запускать через командную mytest строку под parent1 .

Попытки

Если я попробую следующее:

 mocha --grep 'mytest'  

В конечном итоге он будет запущен:

  • parent1/mytest
  • parent2/mytest

В то время как если я попытаюсь:

 mocha --grep 'parent1'  

В конечном итоге он будет запущен:

  • parent1/mytest
  • parent1/myothertest

Как этого добиться?

Комментарии:

1. О чем mocha --grep 'parent1/mytest' ?

2. @evolutionxbox будет ли это работать? Я могу попробовать

3. Похоже, не работает, он не может найти ни одного теста для запуска

Ответ №1:

На самом деле это было довольно просто, так как это оценивается как регулярное выражение:

 mocha --grep 'parent1 mytest'  

Кажется, что использование пространства-это решение. Я могу успешно определить такие тесты.

Примечания

Это также работает, если в именах тестов есть пробелы:

 describe("parent1", () =gt; {  it("my test", () =gt; {  console.log("AAA");  }); });  describe("parent2", () =gt; {  it("my test", () =gt; {  console.log("BBB");  }); });  describe("parent1", () =gt; {  it("my other test", () =gt; {  console.log("CCC");  }); });  describe("parent2", () =gt; {  it("my other test", () =gt; {  console.log("DDD");  }); });  

Выполняется:

 mocha --grep 'parent1 my test'  

Будет работать, как и ожидалось.