問題タブ [jasmine-node]

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 投票する
3 に答える
2620 参照

node.js - ジャスミンノードを備えたTravis-CI

travis-ciを取得して、jasmine-nodeを使用してnodejsモジュールをテストしようとしています。コマンドラインからテストを実行すると、すべて合格しますが、何らかの理由で、Travisは常にビルドが失敗したと報告します。私の.travis.ymlは次のようになります:

そして私のpackage.jsonは次のようになります:

travis.ymlにbefore_scriptを追加してみました

何か案は?

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

node.js - ジャスミンで必要になった後、エクスプレスをスタブアウトする方法は?

このファイルの先頭にすでにexpressを含めていることに気付いたときに、以下のコードをテスト対象にしようとしています。すでにロードされた後、サルがエクスプレスオブジェクトにパッチを適用する方法を教えてください。

0 投票する
2 に答える
5262 参照

node.js - jasmine-node を使用した nodejs での非同期 mongodb 呼び出しのテスト

jasmine-node を使用して、nodejs 関数に対してテストを実行しています。nodejs と mongodb は初めてなので、最初に遭遇したのはいくつかのデータベース呼び出しをテストすることでした。nodejs の非同期の性質のために、すぐに行き詰まりました。

私がやりたいことは次のとおりです。

1) addmongodb テーブルに新しいエントリを追加する関数を追加します。

2) その関数からステータス文字列を受け取り、アクションのステータスを確認します

以下は私の仕様のコードです。beforeEach呼び出しで、データベースを初期化します。実装でわかるように、既に存在するかどうかを尋ねる条件のため、一度だけインスタンス化されます。

これで、すべてのデータベース クエリに対して、クエリが正常に実行されたときに実行されるコールバック関数を定義できます。私が達成する方法がわからないのは、mongodb コールバックからの結果を仕様に戻すことです。

これは、データベース関数の現在の実装です。

また、mongodb でデータベース呼び出しをテストする方法に関する他のアプローチにもオープンです。このトピックに関する記事をたくさん読みましたが、私の特定のケースをカバーしているものはありません。

解決

最後に、JohnnyHK の回答の助けを借りて、コールバックで動作させることができました。私が何をしたかを理解するために、次のテストケースを見てください。

0 投票する
2 に答える
382 参照

javascript - ジャスミンコーヒースクリプト時計が効果的ではありません

私はジャスミンから喜びを得ていません。時計。私の期待は、コードが時計オブジェクトをモックアウトし、setTimeoutで指定された間隔を超えてティックを設定すると、setTimeoutイベントをトリガーすることですが、これは機能していないようで、欠陥を見つけることができません。私のコードは、同じクロック制御動作を適用している他のコードと並行しているようです。

背景:「callback」関数は、this.action.state()をConstants.state.Readyに設定します。実行後は、Constants.state.WAITINGにする必要があります。ノックアウトオブザーバブルを使用していることに注意してください。状態は、値を取得するためにfxとして呼び出されることになっています。

結果:失敗:

0 投票する
4 に答える
4089 参照

node.js - Jasmine-Nodeとexpress.jsを自動化する

express.jsを使用して簡単なWebアプリを作成し、 jasmine-nodeでテストしたいと思います。これまでのところ正常に動作していますが、私の問題は、テストを実行する前に毎回手動でサーバーを起動する必要があることです。

テストのためだけにサーバーを(別のポートで、次に開発用のポートで)実行し、後でサーバーを強制終了するスペックヘルパーを作成する方法について教えてください。

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

javascript - jsdom と jasmine-node で未定義のウィンドウ

runspecs.jsウィンドウやドキュメントなどのグローバル オブジェクトを初期化するファイルがあります。

specs ディレクトリにあるファイルは、socrates.spec.coffee とそのコンパイル済みファイル socrates.spec.js だけです。

新しいソクラテスが失敗しなかったので、少なくともグローバル・ソクラテスが成功していることがわかります。document と document.cookie を使っているので、そちらでも構いません。ウィンドウが定義されていないのはなぜですか?

0 投票する
4 に答える
7588 参照

node.js - jasmine-node をインストールする方法 (理想的には「sudo」を使用せずに)?

だから私はかなり甘やかされて育ったルビストであり、基本的に sudo を使用して何かをインストールする必要はもうありません。node.js と npm をインストールしました (確かに、Mac 64 ビット .pkg を使用しているため、システム上で何を実行できたかがわかります)、正常に動作します。

ここで、次を実行します。 npm install jasmine-node -g

機能せず、「root/Administrator としてこのコマンドをもう一度実行してください」と表示されます。私が意味するものsudo npm install jasmine-node -g

実行: npm install jasmine-node(グローバルではない) 正常に動作しますが、パスが正しく設定されない、コマンド ラインから実行されないなど。

jasmine-nodeはどのようにインストールすればよいですか? cdそこに/usr/local/bin(「-g」オプションなしで)インストールしますか?自家製を使用しますか?または、sudo ...上記のコマンドを使用しますか?

ありがとう。

/UPDATE: 上記のように、Lion OS X Mac (64 ビット) にユニバーサル インストーラーを使用して node.js と npm をインストールしました。ヘルプの:

また、この回答を見つけました。これは、もう1つのオプションです(上記の3つに加えて)。

推奨される方法を教えてください (繰り返しますが、理想的には「sudo」を使用しないことが私の好みです)。

/END 更新

-g(グローバルに)返されるもの(を使用しないsudo)は次のとおりです。

0 投票する
3 に答える
2824 参照

node.js - RequireJS で jasmine-node テストを実行する方法

jasmine-node と RequireJS を使用して jasmine テストを適切に実行するにはどうすればよいですか?

私はすでにこのようなことを試しましたが、うまくいきません(CoffeeScript):

0 秒で完了 0 テスト、0 アサーション、0 失敗

私の目標は、RequireJS、CoffeeScript を使用してモジュラー クラスを作成することであり、クラスは jasmine-node (CI サーバー) でテスト可能でなければなりません。

どうすればそれができますか?ありがとうございました!

編集:

コマンドでテストを実行します(テストのあるディレクトリで):

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

node.js - jasmine-node と jquery-jasmine を使用したクライアント側 JavaScript のテスト

jasmine-nodeと を使用していくつかの JavaScript 単体テストを作成しようとしてjquery-jasmineいますが、構成の問題で立ち往生しています。現在、実行しようとしている唯一の「テスト」は次のとおりです。

テストを実行しようとすると、次のエラーが発生します。

loadFixturesテストの行をコメントアウトすると、正常に動作します。

正しくロードされていないと思いjasmine-jqueryますが、どうすればよいかわかりません。nodejs(私はorの経験がほとんどありませんnpm。)

それが診断価値がある場合、which jasmine-node(bash内で)実行すると結果が得られますが、実行すると結果は得られwhich jasmine-jqueryません。これは、前者は実行可能であり、後者はそうではないためだと思いますが、仮定はしたくありません。(npm showただし、両方のパッケージがインストールされていることを示します。)

私は何を間違っていますか?

どうもありがとうございました。