Как я могу заглушить / имитировать функцию в глобальном пространстве имен javascript

Я пытаюсь заглушить / имитировать / переопределить вызов функции во время тестирования, которая записывает журнал в БД.

function logit(msg) {
  writeMessageToDb(msg);
}

function tryingToTestThisFunction(){
  var error = processSomething();
  if (error) {
    logit(error);
  }
}

Я бы хотел logit ( ) для простой печати на консоли во время тестирования ... и выполнение блока if / else " isTesting () " внутри функции logit () не является вариантом.

Возможно ли это без включения какой-либо дополнительной насмешливой структуры. В настоящее время я использую JsTestDriver для модульного тестирования, и у меня не было возможности оценить какие-либо имитирующие фреймворки. Идеальным решением на данный момент было бы справиться с этим без другой структуры.

15
задан Mrchief 28 October 2014 в 14:10
поделиться