問題タブ [jasmine]

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

javascript - Coffeescript の匿名関数のテスト方法

これについて Stackoverflow で多くの議論が行われていることは知っていますが、それについて直接的な答えを得ることができませんでした。そして、私はコーヒースクリプトについてあまり知りません。

基本的に、私はこのコーヒースクリプトを持っています

return42 = -> 42

そして、コンパイルすると、これが得られます

そのため、世界に公開されていない無名関数にラップされている関数です。だから私がこのテストを書くとき

return42() が定義されていないため、テストは失敗します。どうすればこれを解決できますか。

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

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

javascript - Jasmine のディレクトリ構造をカスタマイズするにはどうすればよいですか?

Jasmine Rubygem を使用する場合、javascriptsフォルダー内にサブフォルダーを持つ、生成されたディレクトリ構造に準拠する必要があるのは非常に面倒ですspec。私はすべてJavascriptで書いているので、役に立たないと思います。

public生成された を変更することでフォルダー内でこれを変更できることがわかりましたが、フォルダーjasmine.ymlを保持する必要があるため、これは私が望んでいたものではありjavascriptsません。

このフォルダ構造をカスタマイズする方法はありますか?

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

ruby-on-rails-3.1 - Jasmine 仕様で見つからない CoffeeScript で定義されたクラス

Rails 3.1 バックエンドで backbone.js アプリを構築しています。私は CoffeeScript を使用してバックボーン クラスを記述し、Jasmine (jasmine-headless-webkit 経由) をテスト用に使用しています。

次の (部分的な) ツリーがあるとします。

...で定義されてavia_view_spec.js.coffeeいる について知っていると思います。Avia.AviaViewavia_view.js.coffee

ただし、実行すると次の出力が得られますbundle exec jasmine-headless-webkit

Myjasmine.ymlには次のものが含まれます。

Jasmine にコンテンツをロードするように指示する必要があると思いますavia_view.js.coffeeが、その方法が完全にはわかりません。src_filesのセクションに明示的な参照を追加しjasmine.ymlても、違いはないようです...

誰かが私がここで間違っていることを教えてもらえますか? 私はそれが単純なものだと思う...

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

ruby-on-rails-3.1 - Jasmineを使用してJavascriptコンストラクターをスパイする

いくつかのJavascriptクラス(backbone.jsビュー、Coffeescriptで記述)の仕様を作成していますが、あるビューが別のビューを構築するようにしたいと思います。

次のように、コンストラクターをスパイしてこれを実行しようとしています。

AviaViewinitialize()を呼び出すと、MatricesViewコンストラクターが確実に呼び出されます。これは次の行のおかげです。

それは間違いなく機能します。アプリを手動で実行すると、の間にコンストラクターが呼び出されていることがわかりますinitialize()。しかし、私のジャスミン仕様は失敗します:

私は私の同僚の何人かと話しました、そして彼らはこれがうまくいくはずであることに同意します...誰かがコンストラクターをスパイする良い方法を提案できますか?

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

javascript - Sinon.JSでgoogle.mapsライブラリをスタブアウトする方法は?

私は次のようなバックボーンモデル内でgoogle.mapsライブラリを使用しています(coffeescript):

私のテストでは、インスタンス化しようとするとRoute、明らかに問題が発生します。googleこの問題が発生しないように、テストでスタブアウトするにはどうすればよいですか?

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

maven - HTMLUnit が " ReferenceError: "console" is not defined." をスローする原因は何ですか?

Javascript ライブラリをテストするためにジャスミンを MVN ビルドに統合しようとしています。現在、次のエラーがスローされ始めています。

ReferenceError: 「コンソール」が定義されていません。

明らかに、バグを引き起こしているのは私のコンソールの使用です。私のcoeは実際にコンソールを使用する前にその存在をテストしますが、MVNはそれをあまり好まないようです。

この問題について叫ぶためにそれをケーシングするアイデアはありますか?

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

javascript - Jasmineのテスト実行中にhaml-jsテンプレートが見つかりません

Jasmineを使用して(jasmine-headless-webkit経由で)いくつかのbackbone.jsビューをテストしようとしています。テスト中にhaml-jsテンプレートにアクセスできないことを除いて、すべてが正常に機能しています。

私の見解では、次のコードは正常に機能します。

...しかし、Jasmine仕様の一部として実行すると、次のエラーが発生します。

で何か間違ったことをしているのではないかと思いjasmine.ymlます。テンプレートファイルを明示的に含めましたが、それでも失敗します。

おそらく私はここで間違ったアプローチを取っているだけです...Jasmineを使用してJSTとjQueryへの呼び出しをスタブ&モックアウトする必要がありますか?厳密に単体テストのアプローチでは、私がすべきだと言っています。その場合、テンプレートへのアクセスがないことは問題ではありません。

テストへの私のアプローチ、または特定のJSTの失敗に関するヒントは、大歓迎です。

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

javascript - ウィジェットファクトリを使用して構築されたjQueryプラグインを使用するジャスミン仕様を実行するときのTypeError

インライン編集にtoggleEditというjQueryプラグインを使用しています。

コードが実際にページで使用されている場合は、すべて正常に機能します。

ただし、私のテストスイートは次のエラーで失敗します。

TypeError: Cannot call method 'remove' of undefined

clearこの特定のプラグインのメソッド内からトリガーされるように追跡しました。そのソースファイルはここにあります。

そのコードには2つの関連するビットがあります。

1-_init機能

ご覧のとおり、プラグインが最初にインスタンス化されると、data構造体を使用しselfて新しく作成された要素が格納されます。

2-clear機能

次に、clear関数はその構造にアクセスして要素を取得しようとします。そのとき、ジャスミン仕様の範囲内で、前述の例外を除いて失敗します。

誰かが似たようなものを見たことがありますか?

編集:

これは私の仕様です。エラーを再現できる最も単純なコードです。

http://alz.so/static/plugins/toggleedit/jquery.toggleedit.js

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

javascript - Jasmine ユニット テストでマウス クリックをシミュレートする

私はジャスミンが初めてで、これまでにいくつかの基本的なテストを設定できました。私が今やろうとしているのは、div、タグなどの要素でマウスクリックイベントをシミュレートするテストを作成することです

私のテストでは、リンクをクリックすると div コンテナーが展開されるかどうかを判断できるはずです。これはクラス名で判断します。

私のソース コードには、クリック イベントをリッスンするイベント リスナーがあります。

そしてHTMLマークアップは

私が試みている単体テストは次のとおりです。

しかし、クリック イベントはソース コードによって決してピックアップされないようです。

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

前もって感謝します

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

jquery - 呼び出しに対する引数のプロパティをテストするためのJasmine仕様の改善

次のCoffeescriptコードを使用して、1つのbackbone.jsビューの初期化が別のビューを構築することを検証しています。

これはうまく機能しますが、私はそれを改善することが可能であるはずだと思わずにはいられません。私は次のような構文を想像しています:

... wheretoHaveBeenCalledMatchingは、引数のスプラットを取り、成功を示すためにtrueを返し、それ以外の場合はfalseを返す関数を取ります。

誰かがこのようなものに出くわしたことがありますか、それとも私はここで自分自身を転がす必要がありますか?または、このコードを改善する方法についてのより良い提案はありますか?