我能够使用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”
NPM测试--sometestfileTorun
为了运行特定的测试,您需要使用jest
命令。NPM测试
将不工作。要在命令行上直接访问jest
,请通过npm i-g jest-cli
或yarn 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.js
,foo.js
和foozilla.js
foo.js
要运行单个测试,请执行以下操作:
npm test -t ValidationUtil # `ValidationUtil` is my module `ValidationUtil.spec.js`
-t
-在它后面,放一个包含测试名称的正则表达式。