問題タブ [jestjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - jest.setMock() での TypeError
jest のモックを明示的に設定すると、なぜ型エラーが発生するのか疑問に思っています。
私はこれをします:
そして私はこれを取得します。
mocks/LoginStatus.jsx は単純に次のとおりです。
Jest のドキュメントは次のとおりです: https://facebook.github.io/jest/docs/api.html#jest-setmock-modulename-moduleexports
javascript - jsdom と Jest の使用
私は Jest を使って、Angular アプリケーションの単体テストを行っています。angularバインディングをテストするために、jsdomを使用しようとしています(注:IOではなくノードを使用しているため、v3.1.2を使用しています)。HTML を使用してスクリプトをロードする必要がある場合、スクリプトがロードされる前にテストが完了しているようです。
jsdom の例を使用して、テスト ケースを単純化しました。
このテストを実行すると、テストは成功しますが、"Completed" というログ メッセージは出力されません。expect(false).toBeTruthy() のように、expect を明らかに失敗するはずのものに置き換えることもできますが、テストは引き続き "合格"。jquery の注入を削除すると、すべてが期待どおりに機能します。
テストを終了する前に、スクリプトがロードされていることを確認するにはどうすればよいですか? より一般的に言えば、Jest で明示的に jsdom を使用するのは少し間違っているように感じます。より良い方法はありますか?
javascript - Jestは一般的なjsモジュールを自動モックしていません
Jest を使用して Flux および React アプリケーションをテストすることに頭を悩ませようとしています。
出発点としてScotch.io チュートリアルを使用し始め、完全なテスト スイートを作成して、最初の実際の反応およびフラックス アプリを構築する方法についての知識を得る予定です。
github で私のコードを見つけて、私がどこにいるのかを確認できます。
実行されないテストはFluxProduct-test.jsx です
100 行目に「TypeError: 未定義のプロパティ 'calls' を読み取れません」というメッセージが表示されます。
FluxActions をログアウトすると、自動モックされていないように見えます。これが、モックが定義されておらず、calls プロパティにアクセスするとエラーがスローされる理由です。
fyi: Jest には Node 0.10 が必要ですが、0.12 では動作しません。
役立つ参照ファイル:
ここに私のpackage.jsonファイルがあります:
npm test
アプリディレクトリで実行してテストを実行します。
reactjs - webpackでjestを使用するには?
React コンポーネントの開発にwebpackを使用しています。以下は、その単純なバージョンです。
ここで、 jestを使用してこのコンポーネントをテストしたいと思います。ここに私の関連するビットがありますpackage.json
:
を実行するnpm test
と、次のエラーが表示されます。
SyntaxError: /Users/mishamoroshko/react-component/src/tests/MyComponent.js: /Users/mishamoroshko/react-component/src/MyComponent.js: /Users/mishamoroshko/react-component/src/MyComponent.less: Unexpectedトークン ILLEGAL
require('./MyComponent.less')
jest がテストを実行する前に、webpack を処理する必要があるようです。
jest-webpack のようなものを使用する必要があるのだろうか。はいの場合、複数scriptPreprocessor
の を指定する方法はありますか? (私はすでに使用していることに注意してくださいbabel-jest
)
javascript - jasmine-pit でテストしようとすると Jest がタイムアウトする
Jest を使用して角度のある UI に対して小さなテストを実行しようとしていますが、5 秒後にタイムアウトになります。これが私のコードです:
私はピットを使用しているので、Angular がビューを更新できるように 1 秒の遅延を設定できますが、setTimeout の匿名関数が呼び出されないようです。約束が果たされず、テストがタイムアウトします。Jest は Jasmine 1.3.0 を使用しているため、runs() と waitsFor() も使用してみましたが、同じ結果が得られました。
node.js - require() を使用すると、IO.js 1.4.3 で Jest (JS) セグメンテーション違反 11 が発生する
IO.js 1.4.3 と Jest を使用してテスト スイートを実行しています。Promises などの ES6 機能を使用しているため、V8 の新しいバージョンが必要です。
最も簡単なテストを試してみると:
それは機能します(ありがたいことに)。require()
ただし、 (自分のコードをテストするために実行する必要がある) への呼び出しを含めると、次のようになります。
これは、インクルードするモジュールや、最初に呼び出すかどうかに関係なく発生しますjest.dontMock()
。
これは実際にはエラーメッセージとしての意味をあまり教えてくれませんが、require
実際に問題があるようです。1.0 より前の node.js に戻す以外に、これに対する解決策はありますか?
reactjs - コンポーネントを再レンダリングしないテストユーティリティを使用してreactjsコンポーネントでsetStateを呼び出す
私は冗談ベースのテストで次のコードを持っています:
以前のテストでは、コンポーネントの初期状態をテストしました。状態の変更後に setState を呼び出して、コンポーネントをチェックしたいと思います。ここで記録している videoClass は同じままです。私は0.12に反応しています。そして最新のjest 0.4.0。
状態を設定した後に何が起こるかをテストする方法についてのアイデアはありますか?