mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-20 15:50:47 +08:00
fix: swipe with params
This commit is contained in:
@@ -195,12 +195,12 @@ func Interface2Float64(i interface{}) (float64, error) {
|
||||
return float64(v), nil
|
||||
case float64:
|
||||
return v, nil
|
||||
case string:
|
||||
case string: // e.g. "1", "0.5"
|
||||
floatVar, err := strconv.ParseFloat(v, 64)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return floatVar, err
|
||||
return floatVar, nil
|
||||
}
|
||||
// json.Number
|
||||
value, ok := i.(builtinJSON.Number)
|
||||
|
||||
96
internal/builtin/utils_test.go
Normal file
96
internal/builtin/utils_test.go
Normal file
@@ -0,0 +1,96 @@
|
||||
package builtin
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestInterface2Float64(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
input interface{}
|
||||
want float64
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "convert int",
|
||||
input: 42,
|
||||
want: 42.0,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert int32",
|
||||
input: int32(42),
|
||||
want: 42.0,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert int64",
|
||||
input: int64(42),
|
||||
want: 42.0,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert float32",
|
||||
input: float32(42.5),
|
||||
want: 42.5,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert float64",
|
||||
input: 42.5,
|
||||
want: 42.5,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert string valid number",
|
||||
input: "42.5",
|
||||
want: 42.5,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert string valid number",
|
||||
input: "425",
|
||||
want: 425.0,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert string invalid number",
|
||||
input: "invalid",
|
||||
want: 0,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "convert json.Number valid",
|
||||
input: json.Number("42.5"),
|
||||
want: 42.5,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "convert json.Number invalid",
|
||||
input: json.Number("invalid"),
|
||||
want: 0,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "convert unsupported type",
|
||||
input: []int{1, 2, 3},
|
||||
want: 0,
|
||||
wantErr: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got, err := Interface2Float64(tt.input)
|
||||
if tt.wantErr {
|
||||
assert.Error(t, err)
|
||||
} else {
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, tt.want, got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
v5.0.0-beta-2505122246
|
||||
v5.0.0-beta-2505141436
|
||||
|
||||
Reference in New Issue
Block a user