CoE CLI kūrimas pridedant naują komandą (nebenaudojama)
Pastaba.
CoE CLI yra nebenaudojamas ir bus pašalintas būsimame leidime. Naudokite projekto sąrankos vedlį Power Platform , kad nustatytumėte ir valdytumėte savo ALM Accelerator for Power Platform projektus.
Norėdami pridėti naują komandos pavyzdį, galite naudoti šią komandą, kad sumodeliuotumėte pradinę TypeScript komandos sąranką ir Jest JavaScript testavimo sistemos vieneto testą.
cd coe-cli
coe cli add -n sample
Komandos prijungimas prie komandų eilutės
Baigę naujos komandos vieneto bandymą, atlikite šias užduotis.
Peržiūrėkite https://www.npmjs.com/package/commander komandas ir parinktis.
Atnaujinkite commands.ts, kad būtų įtraukta nauja arba antrinė komanda.
- Importuokite failus failo viršuje.
import { SampleArguments, SampleCommand} from './sample';
- Įtraukite funkciją, skirtą injekciniam liejimui.
createSampleCommand: () => SampleCommand
- Sukurkite komandą naudodami konstružsakytoriaus funkciją.
this.createSampleCommand = () => new SampleCommand
- Įtraukite funkciją.
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) }); }
- Užregistruokite naują komandą, kad inicijuotumėte funkciją.
this.AddSampleCommand(program);
Atnaujinkite commands.spec.ts, kad būtų įtraukti vienetų bandymai.
- Įtraukite nuorodą į komandą.
import { SampleCommand } from '../../src/commands/sample'
- Įtraukite „Jest“ bandymų rinkinį.
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() }) });
Paleiskite vienetų bandymus su naujais pakeitimais.
npm run test