在 Cypress 测试环境中不会调用 CSSTransition 组件的回调

问题描述

我一直在使用这个 React Csstransition 组件:

http://reactcommunity.org/react-transition-group/css-transition

我正在添加 Cypress 测试。当我在常规浏览器 (Chrome) 中浏览我的应用程序时,Csstransition 回调(例如 onExitedonEntered)始终运行。但是在 Cypress 自动化的 Chrome 版本中,这些回调要么永远不会调用,要么永远不会执行。

我想知道是否还有其他人遇到过这个问题,或者对它为什么会发生,以及如何修复或解决它有一些想法。

解决方法

它与cy.clock有关。如果您在测试之前使用 cy.clock,则需要使用 cy.tick,或

        cy.clock().then((clock) => {
            clock.restore()
        })