[解決済み] cypressのclock()とtick()を理解する
2022-02-14 20:08:31
質問
私は、以下のような簡単なReactアプリを作成しました。 サイプレスクロック が動作します。
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"に設定します。
このロジックを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))
が、何も動作しないようです。
何が足りないのでしょうか?
解決方法は?
というわけで、結局、テストは
clock()
の呼び出しを
before
のコールバックです。
before(()=>{
cy.clock();
cy.visit('/')
})
it("should get a value of foo after 20 seconds",()=>{
cy.get('[data-cy=my-input]')
cy.tick(20000);
cy.get('[data-cy=my-input]').should('have.value','foo');
})
の中で同じことをする理由はよくわかりません。
beforeEach
は同じ効果が得られません。
関連
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] Bowerとnpmの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。