問題タブ [ava]
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 - AVA + React-Native のテスト構成
AVAとbabel-preset-react -native を使用して、react-native アプリケーションをテストしようとしています
私の設定は次のようになります:
…そして、次のように失敗します:
このbabel構成を.babelrcファイルにエクスポートし、AVA構成で "babel": "inherit" を使用すると、別の方法で失敗します:
これを正しく構成する方法がわかりません。私はモカを試しましたが、同じ問題が発生しました。
ava - ava: SyntaxError: 予期しないトークンのインポート
そのため、avaには組み込みの ES2015 サポートが付属しており、実際のテスト ファイルでは問題なく動作します。しかし、私がするとき
import
ヘルパー ファイルを使用してエクスポートすることはできません。次のようになります。
テストファイルはそのままで動作するため、特定のバベル構成は設定していません。ヘルパーの依存関係がバベルでトランスパイルされない理由を誰かに説明してもらえますか? 使用test/**/helpers
は、ava の規則に従っています。
ありがとう、ロビン
解決
thanggoc89のソリューションに基づいて、それを機能させるために私がしたことは次のとおりです。
.babelrc
コンテンツを追加:
- に追加
package.json
:
ava - データベースに対する統合テスト - AVA
単体テストを作成した後、ライブラリをデータベース (rethinkdb) に対してテストする統合テストに直面しています。
各テストケースは互いに独立している必要があり、データベースは各テスト後にクリアされるため、誤検知が発生しません。
AVAアーキテクチャはテストを並行して実行するため、その方法ではポジティブなテストを達成できないことがわかりました。元:
シリアル関数を使用して、すべてのテストを終了し、DB を順次クリアできるようにする必要がありました。
テストで同じデータを同時に共有すると、テストでデータが更新または削除され、誤検知が発生する可能性があります。
私が書いているテストがデータの読み取りだけである場合、問題#311pre
で述べたようにシードとクリーニングの操作とpost
スクリプトを実行し、テストを並列に保つことができます。
t.context
また、ユーザー/タスクオブジェクトを使用してテストに渡す方法も非常に優れていることがわかりました。
これは、シリアル テスト実行を使用せざるを得ないまれなケースですか?
ava を使用して、この種のテストにどのように取り組みますか?
ava - AVA afterEach() callback not completing
It seems like if I try and do something asynchronous (or just slow?) from an always.afterEach()
function the process won't wait for it to complete when the test fails. My specific case if is that I'm trying to do some database cleanup after each test and even though the afterEach
hook gets called it doesn't seem to be given a chance to finish before the process exits.
I've tried to distill this down to a simple example:
This is the output I get:
I would expect to see END CLEANUP
printed (that does happen when the test passes.
I'm new to server-side JS so I'm hoping that I'm just doing something silly.
UPDATE: It turns out that this only breaks when the fails-fast flag is set. That's probably a bug.
async-await - sinon でスタブするときの ava 非同期テストの問題
.then
依存関係の 1 つのと.catch
ブロックで実行したいテストがいくつかあります。
いずれかのテストを単独で実行すると、テストに合格します。しかし、これらを一緒に実行すると、テスト A のセットアップが実行され、それが完了する前にテスト B のセットアップが実行され、次のエラーが発生します。
たぶん、テストの設定方法を理解していないのでしょう。テスト B の実行が開始される前に、テスト A を強制的に完了する方法はありますか?
javascript - ava を使用した React Native 単体テスト
AVAでのjsコードの単体テストに関して、こちらの簡単な設定を踏襲してみましたが、設定が考慮されていないようで間違っています。例外:
RN プロジェクトのルートに tests フォルダーがあります。
私の _Setup.js ファイルは次のようになります。
package.json の関連部分は次のようになります
テスト ファイル:
.babelrc のみ
どんなヒントでも大歓迎です!ありがとう!