我想切换为只运行一个测试,这样就不必等待其他测试才能看到一个测试的结果。
目前,我注释掉了其他测试,但这真的很烦人。
有没有办法切换到只运行一个测试在Cypress?
我想切换为只运行一个测试,这样就不必等待其他测试才能看到一个测试的结果。
目前,我注释掉了其他测试,但这真的很烦人。
有没有办法切换到只运行一个测试在Cypress?
当前回答
我的测试文件有一个类似于/something.test的结构。并命令NPX cypress run——spec path/something.test。JSX在终端中给出了以下异常:
Can't run because no spec files were found.
We searched for any files matching this glob pattern:
...
令人惊讶的是,下面的工作和运行测试正好为一个文件(提供你已经安装了jest):
jest path/something.test.jsx
其他回答
我的测试文件有一个类似于/something.test的结构。并命令NPX cypress run——spec path/something.test。JSX在终端中给出了以下异常:
Can't run because no spec files were found.
We searched for any files matching this glob pattern:
...
令人惊讶的是,下面的工作和运行测试正好为一个文件(提供你已经安装了jest):
jest path/something.test.jsx
有多种方法可以实现这一点。
你可以添加。only到它或描述见@bkucera答案 你可以从终端做,在这里的文件解释 NPX cypress run——record——spec "cypress/integration/my-spec.js" NPM run cypress -- --record——spec "cypress/integration/my-spec.js"
只运行一个文件
cypress run --spec path/to/file.spec.js
或者使用glob模式:
cypress run --spec 'path/to/files/*.spec.js'
注意:你需要用单引号来包装glob模式,以避免shell扩展!
在一个文件中只运行一个测试
您只能按照Cypress文档中的描述使用.
it.only('only run this one', () => {
// similarly use it.skip(...) to skip a test
})
it('not this one', () => {
})
同样,您也可以对描述块和上下文块进行同样的操作
编辑:
还有一个很好的VSCode扩展,可以用键盘快捷键更容易地添加/删除.only。它被称为Test Utils (install with ext install chrisbreeding . Test - Utils)。它适用于js, coffee和typescript:
我发现有一种方法可以跳过我不需要运行的测试(在当前测试中),那就是使用:this.skip();
it('test page', function () {
// skip this test for now
this.skip();
cy.visit('http://example.com/')
cy.contains('test page').click()
cy.url()
.should('include', '/test-page/')
})
1. 使用常规函数作为它的第二个参数是很重要的,这在箭头函数中是不可用的 2. 不管我们在哪里写这个,整个测试都会被跳过。skip()
您可以像这样运行测试。
运行——spec **/file.js