Posts

Showing posts with the label test

DeepEqual in golang for slice

package main import ( "fmt" "reflect" ) func main() { a := []int{1,2,3} b := []int{1,2,3} fmt.Println(reflect.DeepEqual(a, b))         a = []int{1,2,4} b = []int{1,2,3} fmt.Println(reflect.DeepEqual(a, b))         a = []int{1} b = []int{1,2,3} fmt.Println(reflect.DeepEqual(a, b)) } Note: Only use for testing  // Equal tells whether a and b contain the same elements. // A nil argument is equivalent to an empty slice. func Equal(a, b []int) bool { if len(a) != len(b) { return false } for i, v := range a { if v != b[i] { return false } } return true } a := [2]int{1, 2} b := [2]int{1, 3} fmt.Println(a == b) // false

Mockery in golang

This library is used for testing in golang https://github.com/vektra/mockery Installation go get github.com/vektra/mockery/... if happened errors then types go get github.com/vektra/mockery/cmd/mockery package test type Stringer interface { String () string } Run:  mockery -name=Stringer  and the following will be output to  mocks/Stringer.go : package mocks import " github.com/stretchr/testify/mock " type Stringer struct { mock. Mock } func ( m * Stringer ) String () string { ret := m. Called () var r0 string if rf , ok := ret. Get ( 0 ).( func () string ); ok { r0 = rf () } else { r0 = ret. Get ( 0 ).( string ) } return r0 }