golang鍗曞厓娴嬭瘯鎬庝箞搴旂敤
Go璇█涓殑鍗曞厓娴嬭瘯鏄€氳繃鍒涘缓鍜岃繍琛孏o婧愪唬鐮佹枃浠朵腑鐨勭壒娈婂嚱鏁版潵瀹炵幇鐨勩€備互涓嬫槸濡備綍浣跨敤Go鐨勫崟鍏冩祴璇曠殑姝ラ锛?br/>1. 鍦ㄦ簮浠g爜鏂囦欢鐨勫悓涓€鐩綍涓垱寤轰竴涓柊鐨勬枃浠讹紝鏂囦欢鍚嶄互`_test.go`缁撳熬銆備緥濡傦紝濡傛灉瑕佹祴璇曞悕涓篳example.go`鐨勬枃浠讹紝鍙互鍒涘缓涓€涓悕涓篳example_test.go`鐨勬枃浠躲€?br/>2. 鍦ㄦ祴璇曟枃浠朵腑瀵煎叆`testing`鍖咃細`import "testing"`
3. 鍒涘缓涓€涓互`Test`寮€澶寸殑鍑芥暟锛屽苟灏哷*testing.T`绫诲瀷鐨勫弬鏁颁紶閫掔粰瀹冦€備緥濡傦細`func TestFunctionName(t *testing.T) { ... }`
4. 鍦ㄦ祴璇曞嚱鏁颁腑缂栧啓娴嬭瘯浠g爜銆?br/>
- 鍙互浣跨敤`t.Run()`鍑芥暟鏉ュ垝鍒嗘祴璇曟渚嬶紝浠ヤ究鏇村ソ鍦扮粍缁囧拰鎶ュ憡娴嬭瘯缁撴灉銆?br/>
- 浣跨敤`t.Errorf()`鎴朻t.Fatalf()`鍑芥暟鏉ユ姤鍛婃祴璇曞け璐ワ紝鍏朵腑`t.Errorf()`浼氭墦鍗伴敊璇俊鎭苟缁х画鎵ц鍏朵粬娴嬭瘯锛岃€宍t.Fatalf()`浼氭墦鍗伴敊璇俊鎭苟缁堟娴嬭瘯銆?br/>
渚嬪锛?br/>
```go
func TestAdd(t *testing.T) {
result := add(2, 3)
expected := 5
if result != expected {
t.Errorf("add(2, 3) = %d; expected %d", result, expected)
}
}
```
5. 鍦ㄥ懡浠よ涓繍琛屾祴璇曘€備娇鐢╜go test`鍛戒护鏉ヨ繍琛屽綋鍓嶇洰褰曚笅鐨勬墍鏈夋祴璇曟枃浠讹紝鎴栬€呬娇鐢╜go test
相关问答