इसके माध्यम से साझा किया गया


CoE CLI विकास में एक नया आदेश जोड़ा जा रहा है (अप्रचलित)

नोट

CoE CLI अप्रचलित हो चुका है और इसे आगामी रिलीज़ में हटा दिया जाएगा। अपनी परियोजनाओं को सेट अप और प्रबंधित करने के लिए Power Platform प्रोजेक्ट सेटअप विज़ार्ड का उपयोग करें। ALM Accelerator for Power Platform

एक नया नमूना कमांड जोड़ने के लिए, आप TypeScript कमांड और Jest JavaScript परीक्षण फ्रेमवर्क यूनिट परीक्षण के प्रारंभिक सेटअप को टेम्प्लेट करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं।

cd coe-cli
coe cli add -n sample

कमांड को कमांड लाइन से कनेक्ट करना

एक बार जब आप अपने नए कमांड के लिए यूनिट टेस्ट पूरा कर लें, तो इन कार्यों को करें:

  1. आदेशों, विकल्पों पर https://www.npmjs.com/package/commander समीक्षा करें।

  2. नया आदेश या उप आदेश शामिल करने के लिए commands.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);
    
  3. इकाई परीक्षण शामिल करने के लिए commands.spec.ts अपडेट करें।

    • कमांड का संदर्भ शामिल करें।
    import { SampleCommand } from '../../src/commands/sample'
    
    • जेस्ट परीक्षणों का एक सेट जोड़ें।
    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()
        })
    });
    
  4. नए परिवर्तनों के साथ इकाई परीक्षण चलाएँ।

    npm run test