問題タブ [meteor-velocity]

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.

0 投票する
1 に答える
1438 参照

testing - Velocity でこの websocket 接続エラーを修正するにはどうすればよいですか?

キュウリとジャスミンを新しいプロジェクトで試してみましたが、すべてのテストでこの失敗が発生しています。私が実行すると:

私は得る:

この失敗は、xolvio:cucumber パッケージを使用した新しいアプリケーションが原因です。

ミラー ログをチェックアウトすると、次のように終了します。

では、これは私だけのシステム エラーですか? 私は最新の Meteor を持っています: 1.1.0.2

また、このエラーは古いバグであり、現在は meteor-cucumber repo で修正されたと見なされていることも認識しています。

何か案は?

0 投票する
1 に答える
183 参照

javascript - Jasmine テスト + Meteor 用の適切なディレクトリにコードを配置する

私はジャスミンのテスト フレームワークを初めて使用するので、何らかのガイダンスを得たいと思っています。tests フォルダーの下に、次のディレクトリ構造があります。

これらの 2 つのフォルダーの下には、次のものがあります。

正しいフォルダーへのコードの配置について混乱しています。私のテストはすべて、(ほとんど) サーバー上にある Meteor.methods に関するものです。「ユニット」テスト フォルダーに配置されたテストは Meteor コードにアクセスできず、スタブを実装する必要があること、およびクライアント フォルダー テスト クライアント コード (サーバー フォルダーと同様) 内のテストであることを理解しています。ただし、これは次のことを意味しますか。

  1. サーバーMeteor.methodsのすべてのテストはサーバー/統合にある必要がありますか?
  2. /collections フォルダー (クライアントとサーバーの両方からアクセス可能) にあるメソッドは、クライアントまたはサーバーのいずれかでテストできますか?
0 投票する
2 に答える
1568 参照

meteor - 別の WebDriverIO promise チェーンが終了するのを待つ方法はありますか?

特定のロールでテスト ユーザーをログインさせるテスト ステップを Cucumber で構築しようとしています。私のアプローチは、サインアウトオプションがそこにあることを確認してクリックしてから、ログインを試みることです。問題は、promise 構造がログアウトが最初に発生することを保証していないことです。また、常に最初にログインしているとは限らないため、基本的にログアウトが発生するまで待ってから先に進む方法が必要です。

私のテストステップは次のようになります。

の後に止める方法はありmyBrowser.waitForVisible('#appSignOut')ますか?意図した使用法をすべて一緒に見逃しているだけですか?

アップデート

私は新しいアプローチを試みましたが、まだ機能していません:

ここでのロジックは次のとおりです。

  1. #main_menu が表示されている場合 (ページが読み込まれている場合)
  2. 次に - #appSignOut が存在する場合は、それをクリックします
  3. 次に - #appSignIn が表示されるのを待ってから、ログインを完了します

私が得るエラーは次のとおりです。

しかし、私はこれのどれもまったく機能していないと思います。ポップアップ ブラウザの動作が速すぎて、何が起こっているのかわかりません。また、cucumber.log からも、ブラウザが何をしているのかがわかりません。

0 投票する
0 に答える
34 参照

javascript - 1 つの Jasmine 記述ブロックで複数の計算を使用すると、トラッカーの反応性がちょうど半分の時間で開始されないのはなぜですか?

Jasmine で反応性をテストすると、いくつかの Tracker 計算が非常に興味深い方法で動作し始めました。ちょうど半分の計算が反応し、残りの半分はそうではありません。

この動作をテストするために私が行ったことは次のとおりです。

だから基本的に:

  1. fooリアクティブを に初期化しfalseます。
  2. 追跡を開始し、到達するのを待っtrueて、テストがdone().
  3. タイムアウトを使用しfoo.set(true)てテストを解決します。
  4. もう必要ないので、この計算を停止します。

では、別の変数を使用してまったく同じことを行いましょう。

そこから楽しみが始まります。このテストはまったく同じコードですが、名前が異なり、まったく同じロジックが記述されていますが、計算追跡バーが再実行されないため失敗します

console.logそれを非常によく示しています:

その計算における fooは: その計算false
における foo は: true - 反応性が開始されました!
その計算の棒は: false
[Nothing]

fooの計算が再実行され、テストが完了したことは明らかですが、 の計算barは決して無効にされないため、テストは失敗します。

ただし、これで終わりではありません。新しいリアクティブ変数 (たとえばbaz) に 3 番目のテスト ケースを追加し、前と同じ手順に従うと (他の変数で初期化し、同じdescribe関数の最後にテストを追加する)、完全に機能します。

ここで、テストは(1)成功し、テスト(2)は失敗し、テストは(3)成功します。

catここで、同じ手順に従って、たとえば新しいものを使用して 4 番目のテストを追加すると、テスト(4)は次のログで失敗します。

foo の計算はfalse
foo の計算はtrue
bar の計算はfalse bar は再実行されず失敗
する baz の計算はfalse
baz の計算はtrue
cat の計算はfalse cat は再実行されず失敗
する

fooとではなくにbaz反応しました。barcat

私は他の 2 つ (5 番目と 6 番目) でそれを実行しましたが、同じ結果:(5)成功し、(6)失敗しました。
「奇数」のテストは成功し、「偶数」のテストは失敗します。

完全再現コード:

なぜこうなった?これらすべてのリアクティブ変数を同じ関数
に保持しながら、この問題を解決するにはどうすればよいですか?describe


ネストされたdescribe関数を追加しようとしましたが、成功しませんでした。
この問題は、関連のない関数でテストを分離すると魔法のように消えdescribeます。そのような方法で回答しないでください。