如何使用mocha使'it.only`环境感知?

时间:2017-10-24 13:31:27

标签: javascript testing build mocha

Mocha支持it.only语法,以减少要运行的测试数量。在我们的团队中,开发人员可能会在代码库中暂时使用it.only

现在碰巧这样的only测试被意外批准和部署了。这导致构建服务器愉快地只运行一个测试并声明构建成功。

我现在的问题是:有没有办法告诉摩卡:

它应该只允许开发人员的计算机上的only?是否可以使环境感知,以便所有测试始终在构建计算机上运行,​​或者only测试用例也会声明作业失败。

(我知道有不同的方法来减少mocha运行的测试数量。例如,在WebStorm中,可以在不改变代码的情况下在项目中运行测试的子集。问题的范围是允许这样的事实:开发人员可能会使用it.only并且他们可以自由地这样做。我想检测这样的更改是否会潜入代码库。)

1 个答案:

答案 0 :(得分:1)

在CI上,您应该使用forbid-only标志运行mocha。

--forbid-only    causes test marked with only to fail the suite

根据您的设置,它可能如下所示:

mocha --require babel-register --recursive tests/unit --forbid-only

开发人员仍然可以选择在没有标志的情况下运行测试套件。