記事のディレクトリ
Go reasonには、軽量のテストフレームワークテストが付属しており、単体テストとパフォーマンステストを実装するためのgotestコマンドが付属しています。テストフレームワークに基づいて機能テストを実行することも、ストレステストを実行することもできます。
書き込み方法
- main_test.goなどのテストケースファイルを作成します。
- テストパッケージをインポートし、次のようなテストケースメソッドを記述します。funcTestSum(t * tests.T)
- コマンドgotest -vを実行して、テストケースのサンプルコードを実行し
ます
//测试用例文件
package main
import(
"fmt"
"testing"
)
func TestAddUpper( t *testing.T){
res:=AddUpper(10)
fmt.Println("结果=>",res)
if res == 55{
fmt.Println("准确")
}else{
fmt.Println("不准确")
}
}
func TestSum( t *testing.T){
res:=Sum(10,11)
fmt.Println("结果=>",res)
if res == 20{
fmt.Println("准确")
t.Logf("Sum() 方法测试通过")
}else{
fmt.Println("不准确")
t.Fatalf("Sum() 方法期望返回 %v 实际返回 %v",20,res)
}
}
package main
import(
//"fmt"
//"testing"
)
func main(){
}
func AddUpper(n int) int{
res:=0
for i:=1;i<=n;i++{
res+=i
}
return res
}
func Sum(a int,b int) int{
return a+b
}
注意点
- テストケースのファイル名は、main_test.goなどの_test.goで終わる必要があります
- テストケース関数はTestで始まる必要があります。一般的に、Test +テストされる関数の名前は次のとおりです。TestSum
- TestSum(t * tests.T)テストケース関数の仮パラメーターは* testing.T型である必要があります
- テストケースファイルには、複数のテストケース関数を含めることができます。
- go testコマンドは、テストケースを実行します。操作が正しい場合、ログは表示されません。操作エラーが発生した場合、ログが表示されます
。gotest-vは、操作が正しいか正しくないかに関係なく、ログを出力します。。 - エラーが発生した場合、tFatalfを使用して出力エラーメッセージをフォーマットし、プログラムを終了できます。
- t.Logfメソッドはログを出力できます
- すべてのファイルのすべてのメソッドがデフォルトで実行されます。単一のファイルをテストする場合は、パラメーターを渡す必要があります
。gotest -v main_test.go main.go
単一のメソッドをテストするには、go test -v -run TestSum