Здравствуйте. Стараюсь писать тесты к модулям. У меня есть модуль, который имеет примерно такую структуру:
class Article {
static setNominate (pagename, nominateTemplate, callback) {
Api.getText(
pagename,
text => {
Api.setText(
pagename,
`${nominateTemplate}\n${text}`,
param => {
callback(param)
}
)
}
)
}
}
Модуль Api делает только ajax-запросы к серверу, примерно выглядящие так:
class Api {
static getText (pagename, callback) {
$.ajax({
url: '/w/api.php',
data: {
action: 'parse',
page: pagename,
},
success: text => {
callback(text)
}
})
}
}
То есть запрос, а в колбэке ещё запрос. Давать управление управляющему модулю мне не очень приятно, так как это бездарно увеличит код и не даст абстракции. Поэтому, нужен запрос в запросе.
В тестах использую мочу, моча-дум и синон (где умею только $.ajax.calledWithMatch).
var assert = require('assert')
var sinon = require('sinon')
var jsdom = require('mocha-jsdom')
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При написании расширения для Firefox, который бы просто отправлял POST запрос при выборе пункта в контекстном меню, столкнулся с такой проблемой:...
В таблице есть столбцы с датами, и когда я сортирую их по дате, я вижу, что они отсортированы неправильно
Работаю с API SpotifyНужно сделать чтобы во время загрузки по api загружался loader и на странице нельзя было совершать каких-нибудь действий