【发布时间】:2021-04-15 11:54:31
【问题描述】:
我有一个简单的 Cypress 测试:
describe('My First Test', () => {
it('Go to login page', () => {
cy.visit('http://localhost:3000')
cy.contains('Log in').click()
})
it('Login with local account', () => {
cy.get('input[type=email]').type('123@123.com')
cy.get('input[type=password]').type('asd123')
cy.contains('Log in').type('{enter}')
})
})
第一个断言检查是否存在带有文本Log in 的元素,然后单击它。第二个断言尝试登录。
我已将Log in 按钮中的文本更改为Assertion Failed。所以现在第一个断言失败了,但它仍然运行第二个断言,即使我没有被重定向到登录页面。
有没有办法在断言失败时取消正在运行的规范?
【问题讨论】:
-
这是两种不同的测试。它只是测试的别名,如果你想让它失败,请将它们合并到一个测试源中:jestjs.io/docs/api#testname-fn-timeout
-
以上评论为正确答案。 describe 构造将测试组合在一起。但是每个测试都应该独立。
标签: cypress