update byte comparison
Этот коммит содержится в:
родитель
42524a12f8
коммит
49baf5524b
2 изменённых файлов: 7 добавлений и 2 удалений
|
@ -92,6 +92,7 @@ Now we can implemented steps, since we know what behavior we expect:
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
@ -151,7 +152,7 @@ func (a *apiFeature) theResponseShouldMatchJSON(body *gherkin.DocString) (err er
|
|||
return
|
||||
}
|
||||
actual = a.resp.Body.Bytes()
|
||||
if string(actual) != string(expected) {
|
||||
if !bytes.Equal(actual, expected) {
|
||||
err = fmt.Errorf("expected json, does not match actual: %s", string(actual))
|
||||
}
|
||||
return
|
||||
|
@ -171,6 +172,9 @@ func featureContext(s godog.Suite) {
|
|||
**NOTE:** the `getVersion` handler call on **/version** endpoint. We actually need to implement it now.
|
||||
If we made some mistakes in step implementations, we will know about it when we run the tests.
|
||||
|
||||
Though, we could also improve our **JSON** comparison function to range through the interfaces and
|
||||
match their types and values.
|
||||
|
||||
In case if some router is used, you may search the handler based on the endpoint. Current example
|
||||
uses a standard http package.
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
@ -60,7 +61,7 @@ func (a *apiFeature) theResponseShouldMatchJSON(body *gherkin.DocString) (err er
|
|||
return
|
||||
}
|
||||
actual = a.resp.Body.Bytes()
|
||||
if string(actual) != string(expected) {
|
||||
if !bytes.Equal(actual, expected) {
|
||||
err = fmt.Errorf("expected json, does not match actual: %s", string(actual))
|
||||
}
|
||||
return
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче