1. ホーム
  2. スクリプト・コラム
  3. ゴラン

Go言語基本ユニットテストとパフォーマンステストの例詳細

2022-01-16 15:33:48

概要

テストは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の他の関連記事に注意してください!.