問題タブ [vows]
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.
http - Node.jsのhttp.getライブラリを使用した誓いによる非同期テスト
私は、基本的なhttpテストを誓いで機能させることを試みている時間のドゥージーを持っています。
私は誓いhttp://vowsjs.org/#-writing-asynchronous-testsの非同期の例に従い、適切な呼び出しに置き換えたと思いますが、何かが足りないに違いありません。
テストコードは次のようになります。
このテストを実行しようとすると、次のエラーが発生します。
簡単なhttpの例を取得して、それ自体で機能させることができます。誓いの例をそれ自体で機能させることはできますが、何らかの理由でそれらを組み合わせることができません。ここで助けていただければ幸いです。私はこれをしばらくの間機能させようとしています(多くのグーグルを含む)。
アップデート:
Alexis Sellier(誓いの作成者)の助けを借りて、コールバックにエラー引数を追加すると、この問題が解決するようです。
しかし、その理由はわかりません。http libの例をそれ自体で書き出す場合、エラー引数は必要ありません。なぜそれが必要なのかを示す誓いの文書が見つからないので、少し途方に暮れています。
私の新しい質問は、誓いの中でhttp libを使用するときにエラー引数が必要なのはなぜですか?
javascript - vows、tobi、node.js を使用した REST API のテスト
ここで例を組み合わせて、node.js / Express アプリの誓いのテストを作成しようとしています。
- 新しいユーザー オブジェクトを作成します
- 応答が正しかったことを確認します
- 返された _id を使用して、新しく作成されたユーザーの検索をテストします
- 再び_idを使用して、ユーザーの更新をテストします
項目 1 と 2 は問題なく動作しますが、サブコンテキスト 'GET /users/:id' に何か問題があります。エラーが発生し、理由がわかりません。グーグルでデバッガーを使用してみましたが、それが何であるかはまだわかりません。おそらく、明らかなことを見落としているだけです。
4番目の誓いが間違っている理由を誰か教えてもらえますか?
これが私の誓いのコードです:
編集
this.callback に問題があるかどうかを確認するために、次のようにコードを単純化してみましたが、エラーはまだ残っています。
node.js - vows.jsでクリーンアップを実行するには?
Vows.js を使用して、データベースにレコードを作成している node.js をテストしています。この結果、データベースにいくつかのテスト レコードが作成されます。テストが実行されたら、これらのレコードを削除したいと思います。テストのバッチが Vows で実行されるときにクリーンアップ機能を実行する方法はありますか?
testing - テストの誓いからサーバーを起動する正しい方法は何ですか?
私は誓いを使ってテストしているエクスプレスサーバーを持っています。Vowsテストスイート内からサーバーを実行したいので、テストスイートを機能させるためにバックグラウンドでサーバーを実行する必要はありません。その後、サーバーを実行してテストするケーキタスクを作成できます。隔離。
私はserver.coffee
(エクスプレス)サーバーを作成し、構成し、ルートを設定し、次のようにapp.listen(port)を呼び出しました。
私の単純なroutes-test.js
ものでは:
ここrespondsWith(code)
で、機能は誓いのドキュメントにあるものと似ています...
上記のテストでrequire
サーバーを実行すると、サーバーの実行が自動的に開始され、テストが実行されて合格します。これはすばらしいことですが、「正しい」方法で実行しているとは思えません。
サーバーの起動時期をあまり制御できません。デフォルトの環境ではなく「テスト」環境を指すようにサーバーを構成したい場合、またはテスト時にデフォルトのログレベルを変更したい場合はどうなりますか?
PS私は誓いをCoffeescriptに変換するつもりですが、今のところ、ドキュメントからの学習モードのimとして、すべてjsで!
testing - Node.js テスト RESTful API (vows.js?)
node.js で作成した RESTful API のテストについて、アドバイスをいただければ幸いです。そこにはたくさんのフレームワークがあり、私は途方に暮れています。私のテスト知識は一般的に十分ではありません。そのため、これらのテストを作成しようとしています。vows.js を試してみましたが、これは良さそうですが、API のテストを組み込む方法がわかりませんでした。何らかのクライアントが必要です。ログイン システムをテストするための簡単な投稿の例を示すだけで、作業を開始できます。
node.js - Vows を使用して Mongoose モデルをテストする
node.js コミュニティ全体にとってかなり新しいもので、最初のアプリの単体テストで問題が発生しています。問題は、それらがパスすることですが、コールバックで実際にアサーションを実行することはありません。私が理解しているように、mongoose (MongoDB と対話するために使用しているライブラリ) は、その API を操作するためにコールバックを使用します。私の誓いのテストでは、これらのコールバックは起動されないようです。例:
ここで私が間違っていることについてのアイデアはありますか?
node.js - Vowsのrun()メソッドで別のレポーターを使用するにはどうすればよいですか?
Vowsには、vows
コマンドを使用せずにノードの下でテストを実行するrun()メソッドがあります。
https://github.com/cloudhead/vows/blob/master/lib/vows/suite.jsで、このメソッドがデフォルト以外のレポーターを指定できるオプションパラメーターを受け取ることがわかります。
別のレポーター、たとえばレポーターを選択するために、オプションオブジェクトに渡されるはずの値は何spec
ですか?
node.js - Vows.js - this.callback がトピックと vow に返す引数の数
vows サイトから: 「this.callback が呼び出されると、トピック関数自体によって値が返されたかのように、受け取った引数が 1 つずつテスト関数に渡されます。」つまり、リクエスト ライブラリを使用して http リクエストを処理する場合、トピックと誓いは次のようになります。
しかし、まとまりのあるトピックは、異なるルールに従っているようです。それらは 1 つの引数だけを渡すようです。Vows サイトの例を次に示します。
したがって、2 番目のトピックが (err, stat) のような引数を取得する代わりに、(stat) を取得するだけです。
なぜこれが事実なのか知っている人はいますか?
javascript - Zombie.js を使用した Backbone.js アプリの DOM のクエリ
今日初めてZombie.jsを試してみましたが、javascript を介して DOM 要素を設定するページ (具体的には Backbone.js アプリ) にアクセスするのに問題があります。簡単な例として、Backbone.js の Todo アプリにアクセスし、いくつかの項目を手動で追加しました。次に、Zombie を使用して要素内の html を取得しようとしました#todo-list
が、空に戻りました。を設定browser.runScripts = true
したので、Zombie が照会できるようにすべての準備ができているはずではありませんか?
ソースを見ると、内部の HTML は確かに空です。これは Zombie.js でも可能ですか? または、ここで行ったように、ジャスミンのようなものを使用する必要がありますか?
以下にサンプル コードと、得られた応答を示します。
そして実行からの出力vows
: