Pester test non exported Powershell Cmdlets/Function











up vote
1
down vote

favorite
1












I have a Powershell module which exports one cmdlet. The module contains several functions which are not visible to the end user. However, I want to test these functions via Pester (since test setup will be simple).



Is it possible to call a non-exported function of a cmdlet? Or, is it possible to force module loading with all functions, thouhg the psd1 file only exports some of them?










share|improve this question




























    up vote
    1
    down vote

    favorite
    1












    I have a Powershell module which exports one cmdlet. The module contains several functions which are not visible to the end user. However, I want to test these functions via Pester (since test setup will be simple).



    Is it possible to call a non-exported function of a cmdlet? Or, is it possible to force module loading with all functions, thouhg the psd1 file only exports some of them?










    share|improve this question


























      up vote
      1
      down vote

      favorite
      1









      up vote
      1
      down vote

      favorite
      1






      1





      I have a Powershell module which exports one cmdlet. The module contains several functions which are not visible to the end user. However, I want to test these functions via Pester (since test setup will be simple).



      Is it possible to call a non-exported function of a cmdlet? Or, is it possible to force module loading with all functions, thouhg the psd1 file only exports some of them?










      share|improve this question















      I have a Powershell module which exports one cmdlet. The module contains several functions which are not visible to the end user. However, I want to test these functions via Pester (since test setup will be simple).



      Is it possible to call a non-exported function of a cmdlet? Or, is it possible to force module loading with all functions, thouhg the psd1 file only exports some of them?







      powershell pester






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 7 at 7:02









      Mark Wragg

      13.4k41943




      13.4k41943










      asked Nov 7 at 6:20









      Moerwald

      2,68741436




      2,68741436
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          If you add an InModuleScope block to your Pester script, you can then access private (non-exported) functions:



          https://github.com/pester/Pester/wiki/InModuleScope



          Import-Module MyModule

          InModuleScope MyModule {
          Describe 'Testing MyModule' {
          It 'Tests the Private function' {
          PrivateFunction | Should Be $true
          }
          }
          }





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53184460%2fpester-test-non-exported-powershell-cmdlets-function%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote



            accepted










            If you add an InModuleScope block to your Pester script, you can then access private (non-exported) functions:



            https://github.com/pester/Pester/wiki/InModuleScope



            Import-Module MyModule

            InModuleScope MyModule {
            Describe 'Testing MyModule' {
            It 'Tests the Private function' {
            PrivateFunction | Should Be $true
            }
            }
            }





            share|improve this answer



























              up vote
              1
              down vote



              accepted










              If you add an InModuleScope block to your Pester script, you can then access private (non-exported) functions:



              https://github.com/pester/Pester/wiki/InModuleScope



              Import-Module MyModule

              InModuleScope MyModule {
              Describe 'Testing MyModule' {
              It 'Tests the Private function' {
              PrivateFunction | Should Be $true
              }
              }
              }





              share|improve this answer

























                up vote
                1
                down vote



                accepted







                up vote
                1
                down vote



                accepted






                If you add an InModuleScope block to your Pester script, you can then access private (non-exported) functions:



                https://github.com/pester/Pester/wiki/InModuleScope



                Import-Module MyModule

                InModuleScope MyModule {
                Describe 'Testing MyModule' {
                It 'Tests the Private function' {
                PrivateFunction | Should Be $true
                }
                }
                }





                share|improve this answer














                If you add an InModuleScope block to your Pester script, you can then access private (non-exported) functions:



                https://github.com/pester/Pester/wiki/InModuleScope



                Import-Module MyModule

                InModuleScope MyModule {
                Describe 'Testing MyModule' {
                It 'Tests the Private function' {
                PrivateFunction | Should Be $true
                }
                }
                }






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 7 at 7:59

























                answered Nov 7 at 6:45









                Mark Wragg

                13.4k41943




                13.4k41943






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53184460%2fpester-test-non-exported-powershell-cmdlets-function%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    Popular posts from this blog

                    横浜市

                    Rostock

                    Europa