如何在没有任何提示的情况下使用Yarn运行Jest测试?

时间:2018-07-31 08:37:49

标签: reactjs jenkins teamcity jestjs yarnpkg

我试图在Team City中运行我的Jest单元测试,但最终总是得到如下所示的提示。

No tests found related to files changed since last commit.
Press `a` to run all tests, or run Jest with `--watchAll`.

Watch Usage
 › Press a to run all tests.
 › Press f to run only failed tests.
 › Press p to filter by a filename regex pattern.
 › Press t to filter by a test name regex pattern.
 › Press q to quit watch mode.
 › Press Enter to trigger a test run.

我尝试运行yarn test a来运行所有测试。但是一旦测试完成执行,我仍然会收到相同的提示。我尝试了yarn test a q,但是没有用。我也尝试了yarn test a --forceExityarn test a --bail,但是什么也没有发生,但仍然得到提示。我如何运行所有的Jest测试而不会收到此提示,因为在Team City中运行时将没有任何交互?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

--ci

提供此选项时,Jest将假定它在CI环境中运行。遇到新快照时,这会更改行为。它不会通过自动存储新快照的常规行为,而是会使测试失败并要求Jest与--updateSnapshot一起运行。 link

此外,您可以将package.json更改为:

"test": "CI=true react-scripts test --env=jsdom",

效果很好

答案 1 :(得分:1)

在TeamCity中,编辑您的配置设置,然后在侧面选择Parameters

单击Add a new Parameter,然后在出现的对话框弹出窗口中,在Kind:下选择Environment variable (env.)

将名称设置为env.CI,并将值设置为true。点击Save

下次运行构建时,构建应自动运行测试并继续。

有关奖励积分(如果您是管理员),请转到Administration,然后在Projects下编辑。单击侧面的Parameters,然后将env.CI参数设置为true,这样就不必为以后的项目设置此参数。

答案 2 :(得分:1)

yarn test --coverage

只运行一次(覆盖),成功则返回0,失败则返回1。