Go言語基本ユニットテストとパフォーマンステストの例詳細
概要
テストはGoに限ったことではなく、Go、Java、Python...といった多くの言語で利用可能です。
いじめられっ子の資格を取るには、プログラマーが持っていなければならないスキルで、特に一部の大企業では、以下のような主な利点があり、プラスになります。
コードがエラーを発生させないようにいつでもテストできる
より効率的なコードを書くことができる
単体テスト
フォーマット
在代码
{{コード
model = word2vec.Word2Vec(sentences=texts, size=300, window=3, workers=2)
実行結果は以下の通りです。
中使用Word2Vec时报错
コードの記述は以下の通りです。
1行目の後
TypeError: __init__() erhielt ein unerwartetes Schlüsselwortargument 'size'
に続いて
model = word2vec.Word2Vec(sentences=texts, vector_size=300, window=3, workers=2)
をクリックすると、このファイル内のすべてのテストケースをテストすることができます。
2行目、テスト結果を表示します。
add_test.go
テストは合格です。
ok
ユースケースが使用する必要があるパッケージの名前。
command-line-arguments
はテストに費やした時間を示します。
3行目、追加されたパラメータを示す。
0.069s
テスト時に詳細なフローを表示できるようにするものです。
というランの開始を示す4~7行目。
-v
TestAdd
使用例です。
を示す4~7行目
TestMul
TestAdd
テストケース、PASSはテストが成功したことを意味します。
10行目、指定されたユニットテストケースが実行されたことを示す Mainly plus
TestMul
の後に、テストする必要がある関数 (
{コード
)
質問
OK コマンドライン引数 (キャッシュ)
はじめに:キャッシュのクリア
-run
第二に、フラグを設定するテストに行く
TestAdd
注意事項
各テストファイルの先頭は
go clean -testcache
または
{コード
テストファイルが見つかりません
テストファイルは同じパッケージ内に書かれているので、テストや後のメンテナンスが容易です
各テストファイルは
go test add_test.go add.go -count=1
パッケージ
関数testは、必ず
_test.go
で、その後に一般的にテスト関数の名前が続きます。
go test
いくつかのログ出力方法が用意されています
ダイレクトプリント
testing
{{コード
{{コード
書式付き印刷です。
Test
testing.
Log
性能試験
基本的な使い方
書式:func BenchmarkXxx(*testing.)
Error Fatal
テスト結果は以下の通りです。
Logf
コードは以下のように図示されています。
1行目
Errorf
を実行していることを示します。
Fatalf
ファイルであり、実際には
と同じである[{{code
//benchmark_test.go
package cal
import (
"fmt"
"testing"
)
func BenchmarkHello(b *testing.B) {
for i := 0; i < b.N; i++ {
fmt.Sprintf("hello")
}
}
は正規に受け取ることができるので、ベンチマークテストを実行するには
$ go test -v -bench=". " benchmark_test.go
goos: windows
goarch: amd64
BenchmarkHello-4 20000000 93.7 ns/op
PASS
ok command-line-arguments 2.061s
または
{コード
{コード
}
2行目
-bench=". "
とは
benchmark_test.go
3行目
-run
は、オペレーティングシステムのアーキテクチャが
-bench regexp
4行目
-bench.
はテストの名称を表します。
-bench=.' .
テスト数,
goos
は各操作にかかる時間(ナノ秒単位)を表します。
カスタムテスト時間
による
windows
パラメータを使用すると、テスト時間をカスタマイズすることができます。
goarch
を設定しない場合
amd64
BenchmarkHello-4
のすべてのインターフェイス]。
{テーブル {トランス メソッド 説明 本文 StartTimer() タイマーを開始する {を使用します。 StopTimer() タイマーを停止する {を使用します。 リセットタイマー {を使用します。 {を選択します。 リセットタイマー {を使用します。 セットバイト() 処理するバイト数を設定する ReportAllocs() {を使用します。 メモリ情報を報告する ランN(n int) ベンチマーク関数を実行する20000000
また、内部には多くのフラグがあり、例えば
93.7 ns/op
{コード
{コード
{{コード
...
上記はGo言語の基本的なユニットテストとパフォーマンステストの例の詳細です、Go言語のユニットテストのパフォーマンステストの詳細については、BinaryDevelopの他の関連記事に注意してください!.
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン