Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tests for Function Exports #3

Open
markekraus opened this issue Apr 14, 2018 · 4 comments
Open

Add Tests for Function Exports #3

markekraus opened this issue Apr 14, 2018 · 4 comments

Comments

@markekraus
Copy link

markekraus commented Apr 14, 2018

As a ModuleBuilder user
In order to ensure expectations
I need shared tests that validate inputs and outputs


We should create common test cases

  • Test all exported functions came from separate files
  • Test all public functions are properly exported by the module
  • Test only public functions are exported by the module
@Jaykul
Copy link
Member

Jaykul commented May 4, 2018

NOTE: these tests need to ship with the module, and shouldn't be confused with the unit tests which also need to verify that this happens in order to prove that our code actually does the right thing.

@kilasuit
Copy link
Contributor

have a look into https://github.com/PowerShellModules/PesterHelpers/ as there may be some overlaps / enhancements there that can be brought in for this

@Rick-2CA
Copy link

On the chance this goes in the direction you're after I've got some tests written to help ensure the module is loading properly at https://github.com/Rick-2CA/MDSTools/blob/master/Tests/Unit.GenericModule.Tests.ps1. Seems to go in the direction the issue is after. I'd be interested in putting more work into it to better serve the project if the approach is close enough to build off of.

@lipkau
Copy link
Contributor

lipkau commented Aug 11, 2018

I just found this issue and wanted to add my 2 cents.

I have a lot of functions where I use the manifest's DefaultCommandPrefix.
So I need to consider a dynamic prefix in the command names. And therefore I wrote my tests like this:
https://github.com/AtlassianPS/AtlassianPS.Configuration/blob/master/Tests/Project.Tests.ps1#L41-L58

As far as I can tell (and have tested), this works perfectly on modules that don't use DefaultCommandPrefix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants