Как издеваться над методами для написания модульных тестов в nodejs [duplicate]

В дополнение к ответу Мины. Когда вы объявляете активность как внутренний статический класс, тогда вы должны написать свою активность в манифест, как ...

         <activity android:name=".app.FragmentLayoutSupport$DetailsActivity" />

здесь .app происходит от вашего имени пакета, это может быть .helpers.afdfa $ afda

7
задан Simon 2 March 2016 в 18:17
поделиться

1 ответ

Я только что проверил это.

'use strict'

function foo () {
  return 'foo';
}

exports.foo = foo;

function bar () {
  return exports.foo();
}

exports.bar = bar;

Объяснение

, когда вы делаете sinon.stub(myModule, 'foo').returns('foo2'), затем sinon заглушает exported объект foo объекта exported а не фактическая функция foo изнутри вашего myModule.js ... как вы должны знать, foo доступен извне модуля. Поэтому, когда вы устанавливаете exports.foo, экспортируемый объект exports.foo сохраняет ref foo. и когда вы назовете sinon.stub(myModule, 'foo').returns('foo2'), sinon закроет exports.foo, а не фактический foo

Надеюсь, это имеет смысл!

7
ответ дан Dave Amit 16 August 2018 в 11:21
поделиться
  • 1
    Большое спасибо. Все еще немного уродливо использовать exports, так как он выполняет ту же работу, что и this, но это будет делать. Использование this в статическом контексте немного пошатнуло мой разум. – Simon 6 March 2016 в 23:54
  • 2
    Вас больше всего приветствует мой друг! – Dave Amit 7 March 2016 в 04:14
  • 3
    Что делать, если вы не можете изменить исходный код? – nbkhope 1 August 2017 в 19:41
Другие вопросы по тегам:

Похожие вопросы: