doc является экземпляром документа pdfkit...
import PDFDocument from 'pdfkit'
const doc = new PDFDocument()
... который передается моей функции:
export const outputTitle = (doc, title) => {
if (!title) return null
doc
.fontSize(15)
.font('Helvetica-Bold')
.text(title, 380, 160)
}
Теперь мне нужно написать модульные тесты для этих функций, используя jest.
describe('outputTitle()', () => {
const doc = jest.fn()
test('should return null if parameter title is missing', () => {
// SETUP
const title = undefined
// EXECUTE
const result = outputTitle(doc, title)
// VERIFY
expect(result).toBeNull()
})
test('should call doc()', () => {
// ???
})
})
Но как проверить вторую часть, когда передается значение title?
Я думаю, что моя насмешка над doc
неверна.
describe('outputTitle()', () => {
const textSpy = jest.spyOn(doc, 'text');
test('should call doc with title', () => {
outputTitle(doc, 'some title');
expect(textSpy).toBeCalledWith('some title');
});
})
Я никогда не использовал pdfkit, но именно так вы тестируете функции и отслеживаете вызовы этой функции в шутку.
Конечно, но моя функция, которую я попытаюсь протестировать, использует переданную переменную 'doc' вместо new PDFDocument
приложил некоторые тесты в качестве ссылки из pdfkit, которые могут быть полезны
Отредактировал мой ответ, чтобы включить переданный документ
Хорошо, но где вы выполняете функцию outputTitle()
?
Отредактировал мой ответ.
Давайте продолжить обсуждение в чате.
Но это не проверка моей цепочки документов. Или я вас неправильно понимаю?