私のQUnitテストスイートを実行している間、私は(初めて)「Check for Globals」フラグをチェックしましたが、次のようなグローバル変数を導入したという失敗でテストが赤くなりました:
window.jQuery110007089870080817491
名前は $.expando プロパティと同じで、ある種の一意の識別子のようです。
テストのデバッグを試みましたが、このプロパティがいつウィンドウ オブジェクトに追加されるかわかりません。
これが何であるか、何に使用されるか、およびこれがウィンドウ オブジェクトに追加される (削除されない) 原因を知っている人がいるかどうか疑問に思います。
ありがとう
/ビクター
編集:
これが発生したときに最小限の例を作成することができましたが、jquery-ui に問題があるようです。
<html>
<head>
<title>Unit Tests</title>
<link rel="stylesheet" href="css/lib/qunit/qunit-1.11.0.css" type="text/css" media="screen">
<script type="text/javascript" src="js/lib/qunit/qunit-1.11.0.js"></script>
<script type="text/javascript" src="js/lib/jquery/jquery-1.10.0.js"></script>
<script type="text/javascript" src="js/lib/jquery/jquery-ui-1.10.3.custom.js"></script>
<script>
$(function() {
test("Test spinner", function() {
$("#spinner").spinner();
ok(true);
})
});
</script>
<body>
<h1 id="qunit-header">QUnit Test Suite</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">
<input id="spinner" />
</div>
</body>
</html>
QUnit Check for Globals フラグがオンになっている場合、これ (および jquery-ui ウィジェットを変更する他のテスト) は失敗します。このフラグを有効にしてjquery-ui独自のテストスイートを実行しようとしましたが、それらのテストも失敗しました。
誰かがこれに対する回避策を持っているなら、それは素晴らしいことです。