Zombie: не удалось прочитать свойство 'compareDocumentPosition' со значением null TypeError: невозможно прочитать свойство 'compareDocumentPosition'
из ноль
Это происходит каждый раз, когда я пытаюсь загрузить страницу, содержащую jQuery, используя Zombiejs. Это случилось со мной в Debian & Windows, с множеством разных страниц, с разными версиями jQuery и с ничем другим на странице.
Кажется, это как-то связано с тем, как jsDom оценивает jQuery до того, как документ страницы готов, но это довольно далеко у меня над головой.
Кто-нибудь сталкивался с этим, знает обходной путь или есть какие-нибудь указатели? Спасибо!
ОБНОВЛЕНИЕ: Это мой тест (который на самом деле проходит, но при запуске с отладкой выдает упомянутую мной ошибку):
zombie = require "zombie"
browser = new zombie.Browser({debug: false})
$ = require "jquery"
require "should"
app = "http://localhost:3000/"
describe "app", ->
describe "index", ->
it "should display correct title", (done) ->
browser.visit app, (err, browser) ->
done()
И это ошибка:
Zombie: GET http://localhost:3000/js/jquery-1.7.1.js => 200 Zombie: Cannot read property 'compareDocumentPosition' of null TypeError: Cannot read property 'compareDocumentPosition' of null
at Object.<anonymous> (/js/jquery-1.7.1.js:4807:30)
at Object.<anonymous> (/js/jquery-1.7.1.js:5301:2)
at Object.<anonymous> (/js/jquery-1.7.1.js:9266:2)
at Object._evaluate (/home/dev/Hg/rpg-chat-bdd/node_modules/zombie/lib/zombie/browser.js:136:28)
in /js/jquery-1.7.1.js
, который вызывает другие ошибки, потому что '$' не определено в остальных моих сценариях.
Это HTML-код страницы, которую я тестирую:
<title>Welcome to Test!</title>
<body>
<div id="main">
</div>
<script type="text/javascript" src="/js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="/js/application.js"></script>
</body>