mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 07:26:55 +08:00
modify rendezvous bonudary testcase
Change-Id: I88329ed6007c17be779b9c2845113e5d090671b2
This commit is contained in:
@@ -15,7 +15,6 @@ var rendezvousTestcase = &hrp.TestCase{
|
|||||||
"b": 3.45,
|
"b": 3.45,
|
||||||
}),
|
}),
|
||||||
TestSteps: []hrp.IStep{
|
TestSteps: []hrp.IStep{
|
||||||
// rendezvous boundary test
|
|
||||||
hrp.NewStep("test negative number").
|
hrp.NewStep("test negative number").
|
||||||
Rendezvous("test negative number").
|
Rendezvous("test negative number").
|
||||||
WithUserNumber(-1),
|
WithUserNumber(-1),
|
||||||
@@ -38,11 +37,8 @@ var rendezvousTestcase = &hrp.TestCase{
|
|||||||
hrp.NewStep("test negative timeout").
|
hrp.NewStep("test negative timeout").
|
||||||
Rendezvous("test negative timeout").
|
Rendezvous("test negative timeout").
|
||||||
WithTimeout(-1000),
|
WithTimeout(-1000),
|
||||||
// rendezvous normal test
|
|
||||||
hrp.NewStep("waiting for all users in the beginning").
|
hrp.NewStep("waiting for all users in the beginning").
|
||||||
Rendezvous("rendezvous0").
|
Rendezvous("rendezvous0"),
|
||||||
WithUserNumber(10).
|
|
||||||
WithTimeout(3000),
|
|
||||||
hrp.NewStep("rendezvous before get").
|
hrp.NewStep("rendezvous before get").
|
||||||
Rendezvous("rendezvous1").
|
Rendezvous("rendezvous1").
|
||||||
WithUserNumber(10).
|
WithUserNumber(10).
|
||||||
|
|||||||
@@ -62,9 +62,7 @@
|
|||||||
{
|
{
|
||||||
"name": "waiting for all users in the beginning",
|
"name": "waiting for all users in the beginning",
|
||||||
"rendezvous": {
|
"rendezvous": {
|
||||||
"name": "rendezvous0",
|
"name": "rendezvous0"
|
||||||
"number": 10,
|
|
||||||
"timeout": 3000
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package hrp
|
package hrp
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -54,3 +55,68 @@ func TestHttpRunner(t *testing.T) {
|
|||||||
t.Fatalf("run testcase error: %v", err)
|
t.Fatalf("run testcase error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInitRendezvous(t *testing.T) {
|
||||||
|
rendezvousBonudaryTestcase := &TestCase{
|
||||||
|
Config: NewConfig("run request with functions").
|
||||||
|
SetBaseURL("https://postman-echo.com").
|
||||||
|
WithVariables(map[string]interface{}{
|
||||||
|
"n": 5,
|
||||||
|
"a": 12.3,
|
||||||
|
"b": 3.45,
|
||||||
|
}),
|
||||||
|
TestSteps: []IStep{
|
||||||
|
NewStep("test negative number").
|
||||||
|
Rendezvous("test negative number").
|
||||||
|
WithUserNumber(-1),
|
||||||
|
NewStep("test overflow number").
|
||||||
|
Rendezvous("test overflow number").
|
||||||
|
WithUserNumber(1000000),
|
||||||
|
NewStep("test negative percent").
|
||||||
|
Rendezvous("test very low percent").
|
||||||
|
WithUserPercent(-0.5),
|
||||||
|
NewStep("test very low percent").
|
||||||
|
Rendezvous("test very low percent").
|
||||||
|
WithUserPercent(0.00001),
|
||||||
|
NewStep("test overflow percent").
|
||||||
|
Rendezvous("test overflow percent").
|
||||||
|
WithUserPercent(1.5),
|
||||||
|
NewStep("test conflict params").
|
||||||
|
Rendezvous("test conflict params").
|
||||||
|
WithUserNumber(1).
|
||||||
|
WithUserPercent(0.123),
|
||||||
|
NewStep("test negative timeout").
|
||||||
|
Rendezvous("test negative timeout").
|
||||||
|
WithTimeout(-1000),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
type rendezvousParam struct {
|
||||||
|
number int64
|
||||||
|
percent float32
|
||||||
|
timeout int64
|
||||||
|
}
|
||||||
|
expectedRendezvousParams := []rendezvousParam{
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
{number: 0, percent: 0.00001, timeout: 5000},
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
{number: 100, percent: 1, timeout: 5000},
|
||||||
|
}
|
||||||
|
|
||||||
|
rendezvousList := initRendezvous(rendezvousBonudaryTestcase, 100)
|
||||||
|
|
||||||
|
for i, r := range rendezvousList {
|
||||||
|
if r.Number != expectedRendezvousParams[i].number {
|
||||||
|
t.Fatalf("run rendezvous %v error: expected number: %v, real number: %v", r.Name, expectedRendezvousParams[i].number, r.Number)
|
||||||
|
}
|
||||||
|
if math.Abs(float64(r.Percent-expectedRendezvousParams[i].percent)) > 0.001 {
|
||||||
|
t.Fatalf("run rendezvous %v error: expected percent: %v, real percent: %v", r.Name, expectedRendezvousParams[i].percent, r.Percent)
|
||||||
|
}
|
||||||
|
if r.Timeout != expectedRendezvousParams[i].timeout {
|
||||||
|
t.Fatalf("run rendezvous %v error: expected timeout: %v, real timeout: %v", r.Name, expectedRendezvousParams[i].timeout, r.Timeout)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user