loading...

Testing Powershell code with Tomty framework.

melezhik profile image Alexey Melezhik Updated on ・1 min read

There is more then one way to test it ...

How to test Powershell modules using Perl6 and Tomty

Welcome Tomty

Tomty is a Sparrow6 based testing framework, written in Perl6. We use it to write tests.

Install

zef install Tomty

Usage

Write Powershell module

modules/hello/hello.ps1

function Hello {

  param(
    [Parameter(Mandatory=$true)]
    [String]$name
  )

  Write-Host Hello $name
}

Write wrapper

mkdir -p .tomty/tasks/test-hello

.tomty/tasks/test-hello/task.ps1:

Import-Module hello
$name = config 'name'
Hello -name $name

.tom/tasks/test-hello/task.check:

generator: print "Hello ".( config()->{name} )

Write test

tomty --edit test-hello

task-run ".tomty/tasks/test-hello", %( name => "Sparrow6" )

Run test

PSModulePath=$PWD/modules tomty test-hello

02:47:26 07/27/2019 [repository] index updated from file:///home/melezhik/repo/api/v1/index
02:47:26 07/27/2019 [.tom/tasks/test-hello] Hello Sparrow6
[task check] stdout match <Hello Sparrow6> True

Run more tests

Once you have more tests, you run them all:

tomty --all

See Tomty documentation for other options.


Thank you for reading. I'd appreciate comments.

Posted on by:

melezhik profile

Alexey Melezhik

@melezhik

Sparrow6 - Raku Automation Framework

Discussion

markdown guide