Я создал это простое приложение React, чтобы понять, как часы Cypress работают:
function App() {
const inputRef = useRef();
useEffect(()=>{
setTimeout(()=>inputRef.current.value = "foo",20000)
},[])
return (
<div className="App">
<input ref={inputRef} type="text" data-cy="my-input"/>
</div>
);
}
Обычно приложение ждет 20 секунд, а затем устанавливает для входного значения значение " foo ".
Я пытаюсь подтвердить этот logi c, используя часы Cypress:
describe("My Input",()=>{
beforeEach(()=>{
cy.visit('/')
})
it("should get a value of foo after 20 seconds",()=>{
cy.clock()
cy.tick(20000);
cy.get('[data-cy=my-input]').should('have.value','foo');
})
})
Я пробовал несколько вещей, например, вызов cy.clock()
внутри beforeEach
предложение с использованием полученного clock
в утверждении: cy.clock().then(clock => clock.tick(20000))
, но ничего не работает.
Что мне здесь не хватает?