Pester
arm-ttk
Our great sponsors
Pester | arm-ttk | |
---|---|---|
24 | 2 | |
3,015 | 423 | |
0.5% | 0.9% | |
7.3 | 7.2 | |
about 7 hours ago | 9 days ago | |
PowerShell | PowerShell | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Pester
-
PyPyInstaller Powershell Module Initial Code Push
Pester is what's used for most Powershell testing. While it has some pretty amazing features, it does have issues with .NET class method mocking and sometimes scope can be weird. Here's a simple example:
-
Dev Stuff Distracting Me From Article Writing
This is the fun that is Powershell mocking, or at least the form that someone completely new to Powershell would write. One thing I must say is that Pester's mocking capabilities are quite easy to work with. It reminded me of pytest mock patching, only well, simpler. Most of the time spent fighting tests was due to the nuances of pipeline flow. For example, you can see that your mocked method was called X many times through something like this:
-
Windows 11 malware adds excludes to windows defender scan
The folder blocked all users from reading the files so if you open up the files it looks empty, even tho you have show hidden files turned on. You can't delete it since it says that you need access from TrustedInstaller. This is cleaver by the hacker since trusted installer is actually the name of a windows feature. HOW-EVER by using the command line I found out that the folder contains framework like these two. https://github.com/d1pakda5/PowerShell-for-Pentesters https://github.com/pester/Pester
-
I have to learn PowerShell in 2 weeks. is that possible?
I'm really surprised that nobody in this thread has mentioned Pester. PowerShell has its own automated unit testing framework that is incredibly versatile. You do need to know PowerShell in order to really make it shine, but if there are some simple tests that your class requires such as "make sure this value conforms to this regex value", Pester is pretty easy to pick up and utilize.
-
Sys admin interview coming up, help your loyal helpdesk pupil to not let his dreams be dreams
Once you start building code/scripts that are used consistently, consider adding Pester testing to your work. Most sysadmin managers may not get it, but if you're talking to dev managers, they'll absolutely get the importance of unit testing and why it's a good tool to have. Again, down the road. Learn the basics first.
-
Thoughts on authoring cmdlets
Finally, the Pester testing framework, which ships with Powershell, is a great way to ensure your code actually does what it's meant to do.
- Git repo best practices for Powershell.
- Looking for public powershell projects to learn best practices and as a reference
- Testing Solutions
-
Test your PowerShell code with Pester
Pester GH page
arm-ttk
-
Compliance as Code
The Azure Resource Manager template (ARM template) test toolkit checks whether your template uses recommended practices. When your template isn't compliant with recommended practices, it returns a list of warnings with the suggested changes. By using the test toolkit, you can learn how to avoid common problems in template development.
-
Build and Lint Bicep Codes within CI/CD Pipelines: GitHub Actions & ARM Template Toolkit
In order to use ARM TTK, I'd recommend cloning the GitHub repository rather than downloading the artifact linked from the official document because the repository gets regularly updated in a fast pace.
What are some alternatives?
bicep - Bicep is a declarative language for describing and deploying Azure resources
PSScriptAnalyzer - Download ScriptAnalyzer from PowerShellGallery
OPA (Open Policy Agent) - Open Policy Agent (OPA) is an open source, general-purpose policy engine.
Plaster - Plaster is a template-based file and project generator written in PowerShell.
Invoke-Build - Build Automation in PowerShell
PowerShellPracticeAndStyle - The Unofficial PowerShell Best Practices and Style Guide
aws-tools-for-powershell - The AWS Tools for PowerShell lets developers and administrators manage their AWS services from the PowerShell scripting environment.
PowerShellGallery
PowerShellTemplate - A template repository for modules and scripts with their respected Pester tests and publishing.
PSKoans - A simple, fun, and interactive way to learn the PowerShell language through Pester unit testing.
PowerShell-for-Pentesters - PowerShell for Pentesters