10

Before(all) を実行する機能、レポート機能、coffeescript のサポートにより、Jasmine テストから Mocha テストへの変換を検討しています。

私が見つけることができなかった 1 つのことは、Mocha (または互換性のあるアサーション ライブラリと組み合わせて) が jasmine-jquery のようなフィクスチャをサポートしているかどうかです (https://github.com/velesin/jasmine-jquery)。そのような機能は Mocha に存在しますか?

DOM を操作するブラウザー内コードをテストしようとしています (そのため、html テスト ランナーで実行します)。テストしている環境内で実行したいので、zombiejs を使用したくありません。

編集:参考までに、解決策を探しているときに、grunt + mocha を phantomjs 実装で使用することに出会いました。カスタムバージョンの Webkit を使用したいので、これも私の場合には機能しません。

4

2 に答える 2

11

私が理解できたことから、答えはノーです。これはおそらく、Mocha が最初に node.js をサポートすることを意図していたという事実によるものです。ノードでは、DOM/ブラウザが存在しないため、jasmine-jquery のフィクスチャの概念は存在しません。

jasmine-jquery プラグインのフィクスチャ サポートを見て、この機能を自分で構築するのはそれほど難しくないことに気付きました。基本的なメカニズムは、jQuery を使用して外部テンプレートを DOM に追加し、その参照を保持してクリーンアップとキャッシュを可能にすることです。

githubで何かをリリースすることにした場合は、この回答を更新します

編集: ここにあります - https://github.com/badunk/js-fixtures。コードと仕様は基本的に jasmine-jquery からコピーされ、依存関係が削除されました。

于 2012-06-24T04:16:38.220 に答える
0

あなたはzombie.jsを試しましたか?NPM と一緒にインストールされ、テスト フレームワークにかなり依存しているようです。

これにより、jQuery で装飾できる完全に機能するウィンドウ オブジェクトが得られました。

Browser = require 'zombie'

browser = new Browser()
global.window = browser.window
require '../src/js/vendor/jquery-1.7.1.min.js'

アップデート:

この問題を再検討しましたが、jquery + jsdom (NPM 経由) がより一般的で軽量なソリューションのようです。例: http://www.netboy.pl/2012/10/testing-jquery-code-with-mocha-chai-and-jsdom/

于 2012-07-09T16:39:06.220 に答える