Во-первых, постарайтесь свести к минимуму этот вид тестирования. Напишите атомарный, СУХОЙ код и модульный тест, прежде чем складывать его на сайт / страницу. Вы можете сделать это быстро в консоли Firebug.
Далее, если JS, который вы перезагружаете, устанавливает интервалы или прослушиватели событий, вам нужно очистить эти интервалы и отсоединить эти прослушиватели перед перезагрузкой тестируемого JS. Это означает, что анонимные интервалы и обработчики событий запрещены.
Создайте файл JS, который при необходимости вызывает clearInterval()
, removeEventListener()
и .unbind()
.
Затем вы можете запустить такой код в консоли Firebug:
function addJS_Node (text, s_URL)
{
var scriptNode = document.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
document.head.appendChild (scriptNode);
}
addJS_Node (null, 'Path_to_JS/ResetTimersAndEvents.js');
addJS_Node (null, 'Path_to_JS/JS_Under_Test.js');
// etc.