Это не поддерживается. В принципе, вы можете работать с файлом jar, но нет гарантии, что новое содержимое будет правильно загружено. Пусть ваши инструменты сборки управляют файлом jar - и выберите что-то еще для постоянной памяти, управляемой вашей программой. Как файл.
Во-первых, я заметил проблему с классом IdentifyService
относительно использования promise
.
class IdentifyService {
identify(filePath) {
return new Promise((resolve, reject) => { // create a new promise
imagemagick.identify(['-format', '%w_%h', filePath], function (err, output) {
if (err) reject(err);
resolve(output); // no need to specify `return`
});
});
}
}
Для самого теста он должен использовать yields
для imagemagick.identify
, потому что это функция с callback
.
describe('Verify image processing', () => {
before(() => {
const fileInfo = [{page: 1, width:100, height: 100, colorspace: 'RGB'}];
sinon.stub(imagemagick, 'identify').yields(null, fileInfo); // use yields
});
it('returns metadata', async () => {
const metadata = await IdentifyService.identify('test.exe');
expect(metadata).to.have.lengthOf(0);
});
});
Я предполагаю, что ваша среда поддерживает async await
.