Mocha支持it.only
语法,以减少要运行的测试数量。在我们的团队中,开发人员可能会在代码库中暂时使用it.only
。
现在碰巧这样的only
测试被意外批准和部署了。这导致构建服务器愉快地只运行一个测试并声明构建成功。
我现在的问题是:有没有办法告诉摩卡:
它应该只允许开发人员的计算机上的only
?是否可以使环境感知,以便所有测试始终在构建计算机上运行,或者only
测试用例也会声明作业失败。
(我知道有不同的方法来减少mocha运行的测试数量。例如,在WebStorm中,可以在不改变代码的情况下在项目中运行测试的子集。问题的范围是允许这样的事实:开发人员可能会使用it.only
并且他们可以自由地这样做。我想检测这样的更改是否会潜入代码库。)
答案 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
开发人员仍然可以选择在没有标志的情况下运行测试套件。