66 使用Pester框架测试网络工具功能的各种场景
77#>
88
9- BeforeAll {
10- # 导入被测试的模块
11- Import-Module " $PSScriptRoot \..\modules\network.psm1" - Force
12-
13- # 预先获取一个被占用的端口,避免在每个测试中重复查询
14- $script :occupiedPort = Get-NetTCPConnection | Where-Object { $_.State -eq " Listen" } | Select-Object - First 1 - ExpandProperty LocalPort
15- }
9+ Describe " Test-PortOccupation 函数测试" - Tag ' Network' , ' Slow' , ' windowsOnly' {
10+ BeforeAll {
11+ Import-Module " $PSScriptRoot \..\modules\network.psm1" - Force
12+ $script :occupiedPort = Get-NetTCPConnection | Where-Object { $_.State -eq " Listen" } | Select-Object - First 1 - ExpandProperty LocalPort
13+ }
1614
17- Describe " Test-PortOccupation 函数测试" - Tag ' Network' , ' Slow' {
1815 Context " 端口占用检测" {
1916 It " 应该能够检测到已占用的端口" {
2017 if ($script :occupiedPort ) {
2118 $result = Test-PortOccupation - Port $script :occupiedPort
2219 $result | Should - Be $true
2320 }
2421 else {
25- # 如果没有找到被占用的端口,跳过此测试
2622 Set-ItResult - Skipped - Because " 没有找到被占用的端口进行测试"
2723 }
2824 }
@@ -42,7 +38,12 @@ Describe "Test-PortOccupation 函数测试" -Tag 'Network', 'Slow' {
4238 }
4339}
4440
45- Describe " Get-PortProcess 函数测试" - Tag ' Network' , ' Slow' {
41+ Describe " Get-PortProcess 函数测试" - Tag ' Network' , ' Slow' , ' windowsOnly' {
42+ BeforeAll {
43+ Import-Module " $PSScriptRoot \..\modules\network.psm1" - Force
44+ $script :occupiedPort = Get-NetTCPConnection | Where-Object { $_.State -eq " Listen" } | Select-Object - First 1 - ExpandProperty LocalPort
45+ }
46+
4647 Context " 进程信息获取" {
4748 It " 应该能够获取占用端口的进程信息" {
4849 if ($script :occupiedPort ) {
@@ -83,6 +84,10 @@ Describe "Get-PortProcess 函数测试" -Tag 'Network', 'Slow' {
8384}
8485
8586Describe " Wait-ForURL 函数测试" - Tag ' Network' , ' Slow' {
87+ BeforeAll {
88+ Import-Module " $PSScriptRoot \..\modules\network.psm1" - Force
89+ }
90+
8691 Context " URL 可达性测试" {
8792 It " 应该返回布尔值类型" {
8893 # 测试函数返回值类型,使用快速超时和短间隔避免长时间等待
0 commit comments