Я создал интерфейс командной строки, который выполняет API-вызов в Google Книгах и позволяет пользователю искать книги по ключевому слову. Поиск возвращает список из пяти книг, включая идентификатор книги, который можно использовать для сохранения записи в списке чтения (записанном в локальном файле).
Я хотел бы создать несколько интеграционных тестов, но янеуверен в том, как «вызвать» программу, используя файл bin, который я настроил. В конце концов я хотел бы проверить, что пользовательский ввод дает правильный ответ от программы, но первое, что мне нужно проверить, это то, что начальная команда запускает программу.
Любая помощь очень ценится!
package.json
{
...
"bin": {
"books-cli": "bin/books-cli"
},
...
}
bin / books-cli
#!/usr/bin/env node
require('../')()
index.js
module.exports = () => {
const args = minimist(process.argv.slice(2));
let command = args._[0] || 'help';
if (args.help || args.h) {
command = 'help';
}
if (args.version || args.v) {
command = 'version';
}
switch (command) {
case 'search':
require('./commands/search')(args);
break;
case 'save':
require('./commands/save')(args);
break;
case 'list':
require('./commands/list')(args);
break;
case 'help':
require('./commands/help')(args);
break;
case 'version':
require('./commands/version')(args);
break;
default:
console.error(
`Sorry, "${command}" is not a valid command. Please type 'books-cli help' to see the help menu.`
);
break;
}
};