Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Заметка
Интерфейс командной строки CoE устарел и будет удален в следующем выпуске. Используйте Мастер установки проекта Power Platform для настройки и администрирования ваших проектов ALM Accelerator for Power Platform.
Чтобы добавить новый пример команды, вы можете использовать следующую команду для шаблона начальной настройки команды TypeScript и модульного теста Jest JavaScript.
cd coe-cli
coe cli add -n sample
Подключение команды к командной строке
После завершения модульного теста для вашей новой команды выполните следующие задачи:
Прочтите https://www.npmjs.com/package/commander по командам, параметрам.
Обновите command.ts для включения новой команды или подкоманды.
- Импортируйте свои файлы в верхней части файла.
import { SampleArguments, SampleCommand} from './sample';
- Добавьте функцию для имитации инъекции.
createSampleCommand: () => SampleCommand
- Создайте команду в функции-конструкторе.
this.createSampleCommand = () => new SampleCommand
- Добавьте функцию.
AddSampleCommand(program: commander.Command) { var run = program.command('sample') .description('A new sample command') .option('-c, --comment <comment>', 'The comment for the command') .action(async (options: any) : Promise<void> => { let args = new SampleArguments(); args.comment = options.comment; let command = this.createSampleCommand(); await command.execute(args) }); }
- Зарегистрируйте новую команду для функции init.
this.AddSampleCommand(program);
Обновите command.spec.ts, чтобы включить модульные тесты.
- Включите ссылку на команду.
import { SampleCommand } from '../../src/commands/sample'
- Добавьте набор тестов Jest.
describe('Sample', () => { test('Execute', async () => { // Arrange var commands = new CoeCliCommands(); let mockSampleCommand = mock<SampleCommand>(); commands.createSampleCommand = () => { return mockSampleCommand } mockSampleCommand.execute.mockResolvedValue() // Act await commands.execute(['node', 'commands.spec', 'sample', '-c', 'Some comment']) // Assert expect(mockSampleCommand.execute).toHaveBeenCalled() }) });
Запустите модульные тесты с новыми изменениями.
npm run test