我正在使用reactjs设置CI,并且我不希望测试在监视模式下运行。
在documentation中,用于运行测试的状态如下:
“默认情况下,npm test使用交互式CLI运行监视程序。但是,您可以强制它运行一次测试并通过设置名为CI的环境变量来完成该过程。”
如果如上所述,则设置“ CI = true”:
“测试命令将强制Jest在CI模式下运行,并且测试将只运行一次,而不启动监视程序。”
为什么(如下所述)说对于非CI环境?有什么理由不应该在CI环境中使用'--watchAll = false'?
“对于非CI环境,您只需传递--watchAll = false标志即可禁用测试监视。”
我在CI环境中都尝试过,在我看来,两者都可以正常工作并且做同样的事情。我甚至更喜欢'--watchAll = false',因为这将是一种跨平台的方法。
那么,我应该在CI环境中使用哪一个?为什么?而且,两者之间有什么区别?
谢谢!
想知道应该使用哪种方法“ CI = true”或“ --watchAll = false”。我已经尝试了两者,但它们似乎以相同的方式工作。
答案 0 :(得分:0)
您的CI环境很可能无需执行任何操作即可将CI环境变量设置为true。
因此,对于您的CI,您实际上不需要设置watchAll=false
或CI=true
,但是如果您想手动设置某些内容,则可以使用CI = true。
两者之间至少有一个区别,就是watchAll=false
(如果CI=false
)仍然会创建Jest快照(如果它们不存在)。您不会在CI环境中这样做。即使快照发生更改,您的测试也会通过。