2

QUnit を使用して、Web サイトでさまざまな簡単なテストを実行しています。テストの 1 つは、ダイアログを作成し、表示してから閉じることです。テストは正常に実行されますが、Firebug が有効になっている Firefox で実行するとエラーが発生します。

3. Introduced global variable(s): _firebug

私はそれで暮らすことができますが、面倒です.Chromeの同じコードは問題なく動作します. jQuery UI がなくても同じエラーが表示されるため、jQuery UI を原因として除外しました。ただし、Firebugまたはconsole.log トレースなしで実行しても問題は発生しません。

私が使用しているすべての JavaScript コードを grep しましたが、「firebug」変数についての言及は見つかりませんでした。そしてGoogleはこの件について沈黙を守った。グリーン スクリーン (すべてのテストに合格) を元に戻したい! 何か案は?

4

1 に答える 1

5

もう少しグーグルで調べたところ、この問題を最初に見つけたのは私ではありません: badglobals.jsblogGoogle groups。私の特定の問題 (QUnit が漏れやすいグローバル変数を報告する) の解決策は、テストを開始する前に、たとえば最初のモジュールが実行される前に、グローバルの宣言を追加することです。

var _firebug;
module('myModule');

誤ったxdc変数も表示されます。同じ解決策。私の最初の QUnit テスト ファイルは次のようになります。

/* declare spurious Firebug globals */
var _firebug;
var _xdc_;

/* run tests */
module('myModule');

noglobals がチェックされていても、私のバーはすべて緑色になりました! これが、この厄介な問題を見つけた他の人の助けになることを願っています。

于 2011-10-13T17:11:17.537 に答える