我想切换为只运行一个测试,这样就不必等待其他测试才能看到一个测试的结果。
目前,我注释掉了其他测试,但这真的很烦人。
有没有办法切换到只运行一个测试在Cypress?
我想切换为只运行一个测试,这样就不必等待其他测试才能看到一个测试的结果。
目前,我注释掉了其他测试,但这真的很烦人。
有没有办法切换到只运行一个测试在Cypress?
当前回答
我发现有一种方法可以跳过我不需要运行的测试(在当前测试中),那就是使用: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()
其他回答
只为你想要执行的测试设置.,然后以NPX cypress run——spec path/to/your-file.spec.js的形式运行spec
我的测试文件有一个类似于/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
只运行一个文件
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()
A very easy solution is to prefix your tests in with numbers, as testing frameworks will typically will run tests in alpha/numeric order by default - so if I have to check one spec file - I will copy the contents into a file 0-[file-name].spec and re-run the test command. Once the test completes - you terminate the test run - as you will have the results you were looking for. This answer is targeted at projects where your testing framework is abstracted and as a developer, you do not have all available options for your testing framework. Not the best answer, but it works and is intuitive and super easy to do. I have found this to be a way to avoid adding a bunch of conditional skips() or only() calls that will not make it to production, will have to be removed and you can easily add the file pattern to .gitignore file so these local files do not get checked in.