diff --git a/pkg/schema/field/array_test.go b/pkg/schema/field/array_test.go
index fcf73b1ff7c8664200ef91bc56669a157ff419a6..5e08a35e7a365ff6e3e3c6987f73ddc6a6ccbce4 100644
--- a/pkg/schema/field/array_test.go
+++ b/pkg/schema/field/array_test.go
@@ -73,74 +73,67 @@ func TestArrayField_DecodeNonStrict(t *testing.T) {
 		field   *Field
 		data    interface{}
 		want    interface{}
-		wantErr bool
+		wantErr string
 	}{
 		{
-			"Nil data",
-			Array(Number(NumberFormatFloat)),
-			nil,
-			nil,
-			false,
+			name:  "Nil data",
+			field: Array(Number(NumberFormatFloat)),
+			data:  nil,
+			want:  nil,
 		},
 		{
-			"Correct data",
-			Array(Number(NumberFormatFloat)),
-			[]interface{}{1.0, 2.0},
-			[]interface{}{1.0, 2.0},
-			false,
+			name:  "Correct data",
+			field: Array(Number(NumberFormatFloat)),
+			data:  []interface{}{1.0, 2.0},
+			want:  []interface{}{1.0, 2.0},
 		},
 		{
-			"String as float",
-			Array(Number(NumberFormatFloat)),
-			[]interface{}{"1.0", "2.0"},
-			[]interface{}{1.0, 2.0},
-			false,
+			name:  "String as float",
+			field: Array(Number(NumberFormatFloat)),
+			data:  []interface{}{"1.0", "2.0"},
+			want:  []interface{}{1.0, 2.0},
 		},
 		{
-			"String as int",
-			Array(Number("int")),
-			[]interface{}{"1", "2"},
-			[]interface{}{int64(1), int64(2)},
-			false,
+			name:  "String as int",
+			field: Array(Number("int")),
+			data:  []interface{}{"1", "2"},
+			want:  []interface{}{int64(1), int64(2)},
 		},
 		{
-			"String as array",
-			Array(String()),
-			"string",
-			[]interface{}{"string"},
-			false,
+			name:  "String as array",
+			field: Array(String()),
+			data:  "string",
+			want:  []interface{}{"string"},
 		},
 		{
-			"Single string number",
-			Array(Number("int")),
-			"2",
-			[]interface{}{int64(2)},
-			false,
+			name:  "Single string number",
+			field: Array(Number("int")),
+			data:  "2",
+			want:  []interface{}{int64(2)},
 		},
 		{
-			"String array",
-			Array(Number(NumberFormatFloat)),
-			"1 2 3.5",
-			[]interface{}{1.0, 2.0, 3.5},
-			false,
+			name:  "String array",
+			field: Array(Number(NumberFormatFloat)),
+			data:  "1 2 3.5",
+			want:  []interface{}{1.0, 2.0, 3.5},
 		},
 		{
-			"Incoorect type",
-			Array(Bool()),
-			"1 2 3",
-			nil,
-			true,
+			name:    "Incoorect type",
+			field:   Array(Bool()),
+			data:    "1 2 3",
+			wantErr: "decode error: 3 error(s)",
 		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			got, err := Decode(context.Background(), tt.field, tt.data, NonStrictMode())
-			if tt.wantErr {
+			if tt.wantErr != "" {
 				require.Error(t, err)
+				assert.ErrorContains(t, err, tt.wantErr)
 				return
 			}
 			require.NoError(t, err)
-			assert.ElementsMatch(t, got, tt.want, "Decode() got = %v, want %v", got, tt.want)
+			assert.Equal(t, tt.want, got)
 		})
 	}
 }