PowerShell Pester - Code Coverage

�������ѧϰPester��invoke-pester��һ����nb��ѡ���codeCoverage������ָ����Ҫ���ԵĽű���function����ijһ��Ƭ�εķ�Χ��Ȼ���������������Χ�ڵĹ����Ƿ��Թ��ˡ�


����ʵ��,����ֱ������һƪ�Ľű����������һ��switchtest��function��Ȼ�����������һ��if�Ĺ���


Test.ps1

function add {
param(
[int]$a,
[int]$b
)
$sum=$a+$b
$sum
}
function switchtest{
param(
[switch]$switch
)
if($switch){
return "Switch is On"
}
else{
return "Switch is Off"
}
}


Test.tests.ps1

$here = Split-Path -Parent $MyInvocation.MyCommand.Path
$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.Tests\.', '.'
. "$here\$sut"
Describe "Test" {
Context "Should be test"{
    It "Add 1 and 2 is equal to 3" {
        add 1 2 | Should Be 3
    }
      It "Add -1 and 2 is not equal to 0" {
        add -1 2 | Should not Be 0
    }
    It "Test Switch option"{
        switchtest -switch | Should be "Switch is on"
    }
}
Context "Should BeExactly test"{
    It "HostName" {
        hostname | Should beexactly "yli-ise"
    }
}
Context "Should BeGreaterThan test"{
    It "PsVersion is above 3" {
        $PSVersionTable.PSVersion.Major | Should beGreaterThan 3
    }
}
Context "Should beOfType test"{
    It "Get-ADUser type"{
        Get-aduser yli | Should beoftype Microsoft.ActiveDirectory.Management.ADUser
    }
}
Context "Should Exist test"{
    It "C:\temp exist"{
        "c:\temp" | should exist
    }
     
}
Context "Should match test"{
    It "Find Email"{
        "jksjsjsjssdjs [email protected] hsosofs" | should match "[a-z0-9!#\$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#\$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
    }
     
}
Context "Should Throw test" {
    It "Get a non-exist Process"{ 
    
        {Get-Process -Name "!@#$%&" -ErrorAction Stop} | Should Throw
    }
}
Context "Should BeNullorEmpty test"{
    It "Get something from test folder"{
    
        get-childitem C:\temp | should not benullorempty
    }
}
}


ִ�п�������������������ָ���Ľű����棬ֻ�����80%�IJ��ԣ���Ϊif���Ļ���һ����֧��û�в���



�ı�һ�½ű��ķ�Χ��ֻ����16-18�е����ݣ���ô����ʾѡ��Χ�Ĺ����Ѿ�100%���Թ���

PowerShell Pester - Code Coverage_第1张图片

���ij��� �����Ŷ����� ���ͣ�����ر����˳���http://beanxyz.blog.51cto.com/5570417/1790262

你可能感兴趣的:(PowerShell Pester - Code Coverage)