「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go での単体テスト

Go での単体テスト

2024 年 8 月 1 日に公開
ブラウズ:791

Unit Test At Go

Go は、単体テストを目的とした多くのツールを含むテスト パッケージを提供します。

準備
練習しましょう。最初に Cube 構造体を準備します。構造体の結果として得られるオブジェクト変数は、後でテスト材料として使用されます。

package main

import "math"

type Cube struct {
 Sisi float64
}
func (k Cube) Volume() float64 {
 return math.Pow(k.Sisi, 3)
}
func (k Cube) Area() float64 {
 return math.Pow(k.Sisi, 2) * 6
}
func (k Cube) circumference() float64 {
 return k.Sisi * 12
}

上記のコードを training1.go ファイルに保存します

package main
import "testing"
var (
cube Cube = Cube{4}
volume Should float64 = 64
area Should float64 = 96
circumference Should float64 = 48
)
func TestCalculateVolume(t *testing.T) {
t.Logf("Volume : %.2f", cube.Volume())
if cube.Volume() != volumeShould {
t.Errorf("WRONG! should be %.2f", volumeShould)
}
}
func TestCalculateSurface(t *testing.T) {
t.Logf("Area : %.2f", cube.Area())
if cube.Area() != areaShould {
t.Errorf("WRONG! should be %.2f", areaShould)
}
}
func TestCalculatePerimeter(t *testing.T) {
t.Logf("Perimeter : %.2f", cube.Perimeter())
if cube.Perimeter() != circumferenceShould {
t.Errorf("WRONG! should be %.2f", circumferenceShould)
}
}

ログの表示には t.Logf() メソッドが使用されます。このメソッドは fmt.Printf() .
と同等です。 Errorf() メソッドは、テスト中に失敗が発生したことを示すログに続いてログを表示するために使用されます。
テストを実行するには go test コマンドを使用します。テスト対象の構造体は bab55.go ファイル内にあるため、 go test を使用してテストを実行する場合は、引数として bab55_test.go および bab55.go ファイル名を記述する必要があります。 -v または冗長引数は、テスト中にすべてのログ出力を表示するために使用されます。
以下の画像に示すようにアプリケーションを実行すると、失敗したテストがないことがわかります。それでは、Keliling() メソッドの計算式を変更してみてください。この変更の目的は、テストが失敗したときに失敗マーカーがどのように表示されるかを調べることです。

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

その後、テストを再度実行します。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/sukmarizki04/unit-test-at-go-393f?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3