問題タブ [locomotivejs]

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 に答える
265 参照

node.js - MVC 単体テスト LocomotiveJS

LocomotiveJS を使用して MVC アプリケーションを構築しています。私は書くべきテストの種類について考えていて、混乱しています。

アプリケーションのさまざまなコンポーネント (モデル、ビュー、コントローラー、ルーター、ORM) は次のとおりです。

すべてのコンポーネントを単体テストする必要がある場合は、次のようにアプローチする必要があります。

  1. ORM が提供する API が期待どおりに動作することを確認するためのテストを作成します。
  2. ORM をスタブ化してモデルの単体テストを行います。単体テストで実際のデータベース操作に依存する必要がないように、スタブを提供します。
  3. コントローラーはビューとモデルにアクセスします。コントローラーの仕事は、モデルを取得/変更し、クライアントに応答 (レンダリング/リダイレクト) することです。
    • コントローラーの応答は、テスト入力を提供し、正しい応答が生成されるかどうかを確認することでテストできます (スタブアウトしrenderredirect、正しい呼び出しが行われることを確認します)。
    • コントローラーによるモデル操作は、モデルをスタブ化し、正しい呼び出しが行われることを確認することでテストできます。私は実装をテストしているので、これは間違っていると感じています...
  4. ビューは単なるテンプレートです。コントローラーはテンプレートを値にバインドします。偽のビュー モデルを作成してビューにバインドし、正しい出力が生成されるかどうかを確認できます。
  5. ルートはリクエストを受け取り、それを適切なコントローラーとアクションにマップするだけです。ルーターの一部をスタブアウトし、ルーターへのリクエストが予想されるコントローラー/アクションにマップされていることを確認することで、アプリが適切なルートをサポートしていることを確認できます。

今、モデル API を変更するとします。モデル テストを変更する必要があり、コントローラー テストで使用されるモデル スタブを変更する必要があり、コントローラー テストでアサーションを更新する必要があります。

これはやり過ぎのようです。

これはむしろ理にかなっていますか?

上記の 1 と 2 を実行します。

3.残りの統合テスト(コントローラー/ビュー/ルーター)。testここでは、環境でアプリを起動しsupertest、リクエストが適切な応答を生成するようにするために使用する必要があると思います-URLにアクセスすると、適切なコンテンツが取得され、適切なリダイレクトなどが行われます.

モデルは別のシステムとの相互作用 (データの永続性) を表しているため、モデルを単体テストするのは理にかなっていると思います。ブリッジが適切に機能することを確認したいと考えています。ルーター/コントローラー/ビューは、独自のシステム内で非常に具体的な方法で対話します。したがって、それを統合テストしても問題ないようです。あなたの考えは何ですか?

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

javascript - locomotive.jsはhttpとhttpsをリッスンします

私はlocomotive.jsMVCプロジェクトを持っており、httpでリッスンしています。httpsでリッスンし、すべてのhttpをhttpsにリダイレクトしたい。

node.jsのcreateServerが見つかりません。見つけたコードは、/ lib / node_modules / locomotive / lib / locomotive / cli/server.jsだけです。

に変更されました:

そして、私は今ちょっと立ち往生しています、何か助けはありますか?

ありがとう !

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

node.js - NodeJS Ejs 変数 Render HTML

次のようにejsを使用して変数を出力できます

ただし、変数にhtmlを含めてみましたが、テキストとして表示されます。htmlとしてレンダリングすることは可能ですか?

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

node.js - MongooseJS は、最大、最小、および平均数を検索します

Number フィールドを含む一連の値を含む MongoDB データベースがあり、最大数、最小値、平均値を取得したいと考えています。mongoosejsとnodejsを使用してこれを行う最良の方法は?

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

node.js - Mongoose がドキュメントを追加しない

herokuスケジューラからmongo dbにエントリを追加しようとしています。しかし、現在、「node app/bin/trackStats」を使用してテストしています

これが私のモデルです。

エンティティを追加するコードは次のとおりです #!/app/bin/node

すべてのデータを正しく console.log しますが、データベースには何も追加されません。

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

node.js - NodeJs と Ejs は配列をページに渡します

配列を .ejs ページに渡そうとしていますが、使用しようとすると

出力を取得します

nodejsファイルのConsole.logは正常に機能しますが、console.logクライアント側を試すとめちゃくちゃになります。

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

node.js - appfog locomotive.js アプリを起動するには?

appfog インスタンスでノード フレームワーク locomotive.js を使用しています。これをインストールすると大量のエラーが発生し、アプリを起動できませんでした。ヘルプ資料を確認し、appfog サポートと協力して、問題が package.json ファイル、特に lcm サーバーの呼び出しに関係していることを解決できました。

正しいpackage.jsonプロパティは何ですか?

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

mysql - NodeJS Mysql Stop Server がエラーでクラッシュする

https://github.com/felixge/node-mysqlを使用して いますが、行が存在しない場合など、mysql クエリがエラーをスローするたびに発生します。ノード サーバーがクラッシュします。

サーバーをクラッシュさせるのではなく、単にエラーをページに出力するにはどうすればよいですか。