go語言monkey庫,進行mock
1、目的
模組自測,對依賴的模組函式進行mock,從而達到不更改其他模組**,完成本模組全部**測試的目的
2、庫:
3、函式以及方法舉例
目錄結構
srctest
24_mock
main
main.go
mock_test
mock.go
test
test.go
執行結果:
a:1+b:2=3
a:1+b:2
a:1+b:2=3
a:1+b:2
process finished with exit code 0
**如下:
//para1:獲取例項的反射型別,para2:被替換的方法名,para3:替換方法
monkey.patchinstancemethod(reflect.typeof(structsum), "printsum", mock_test.printsum)
p := structsum.printsum(1, 2)
fmt.println(p)
monkey.unpatchall() //解除所有替換
p = structsum.printsum(1, 2)
fmt.println(p)
func main()
mock.go
package mock_test
import "fmt"
import "test/24_mock/test"
func printadd(a, b uint32) string
//對應test資料夾下的printsum
func printsum(_ *test.sumtest, a, b uint32) string
test.go
package test
import "fmt"
func printadd(a, b uint32) string
type sumtest struct
func (*sumtest)printsum(a, b uint32) string
Go語言標準庫Json的使用
github上別人做的封裝,挺好用的,推薦一下 這個內建的標準庫用起來還是很煩得,要知道對方發過來的type,不然只能自己分析反射.package main import encoding json fmt type status slice int type info struct func ma...
Go語言使用PostgreSQL資料庫
postgresql和mysql比較,它更加龐大一點,因為它是用來替代oracle而設計的。所以在企業應用中採用postgresql是乙個明智的選擇。現在mysql被oracle收購之後,有傳聞oracle正在逐步的封閉mysql,鑑於此,將來我們也許會選擇postgresql而不是mysql作為專...
Go語言標準庫flag基本使用
文章引用自 如果你只是簡單的想要獲取命令列引數,可以像下面的 示例一樣使用os.args來獲取命令列引數。package main import fmt os demo func main 將上面的 執行go build o args demo 編譯之後,執行 args demo a b c d a...