提问者:小点点

如何使用Jest测试单个文件?


我能够使用Jest测试多个文件,但我不知道如何测试单个文件。

我有:

  • 运行npm安装jest-cli--save-dev
  • 更新了package.json:`{。。。“脚本”:{“测试”:“jest”}。。。}
  • 编写了许多测试。

运行NPM Test按预期工作(目前它运行14个测试)。

如何测试单个文件,例如测试app/foo/__tests__/bar.spec.js

我尝试运行npm test app/foo/__tests__/bar.spec.js(从项目根目录),但我得到以下错误:

npm错误!错误:ENOENT,打开“/node_modules/app/foo/tests/bar.spec.js/package.json”


共3个答案

匿名用户

NPM测试--sometestfileTorun

为了运行特定的测试,您需要使用jest命令。NPM测试将不工作。要在命令行上直接访问jest,请通过npm i-g jest-cliyarn global add jest-cli安装它。

然后简单地使用jest bar.spec.js运行您的特定测试。

注意:您不必输入测试文件的完整路径。参数被解释为正则表达式。完整路径中唯一标识文件的任何部分都足够了。

匿名用户

你要做的就是念魔法咒语:

npm test -- SomeTestFileToRun

独立的--是*NIX魔术,用于标记选项的结尾,这意味着(对于NPM)之后的所有内容都传递给正在运行的命令,在本例中是jest。顺便说一句,您可以通过以下方式显示Jest用法说明:

npm test -- --help

总之,吟诵

npm test -- Foo

在命名文件(foobar.js)中运行测试。但是,您应该注意:

>

  • Jest将名称视为区分大小写的,因此如果您使用的是不区分大小写但保留大小写的文件系统(如Windows NTFS),您可能会遇到一些奇怪的情况。

    Jest似乎把规范当作一个前缀。

    所以上面的咒语会

    • 运行foobar.jsfoo.jsfoozilla.js
    • 但不运行foo.js

  • 匿名用户

    要运行单个测试,请执行以下操作:

    npm test -t ValidationUtil # `ValidationUtil` is my module `ValidationUtil.spec.js`
    

    -t-在它后面,放一个包含测试名称的正则表达式。