「go test」は、Go 言語で書かれたプログラムをテストするために使用されるテスト コマンドです。このテストはコード パッケージに基づいています。 "go test" コマンドは、いくつかのテスト関数を含むソース コード ディレクトリにある "*_test.go" という名前のソース コード ファイルを自動的に読み取ります。テスト関数には通常、名前のプレフィックスが "Test" で、タイプが "testing" です。 T" " 関数はパラメーターを使用して宣言されています。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go 言語には一連の単体テスト システムとパフォーマンス テスト システムがあり、少量のコードを追加するだけで必要なコードを迅速にテストできます。
go test コマンドは、ソース コード ディレクトリにある *_test.go という名前のファイルを自動的に読み取り、テスト用の実行可能ファイルを生成して実行します。
go test コマンド (テスト コマンド)
go test
コマンドは、Go 言語で書かれたプログラムをテストするために使用されます。この種のテストはコード パッケージに基づいています。もちろん、これにはテスト ソース コード ファイルの助けも必要です。 Go プログラムのテスト コードの書き方と書き方については、この章の 2 番目のセクションで詳しく説明します。ここでは、コマンドを使用してテストを開始する方法についてのみ説明します。
go test
このコマンドは、指定された各コード パッケージを自動的にテストします。もちろん、指定されたコード パッケージ内にテスト ソース コード ファイルが存在することが前提となります。テストソースコードファイルは、名前の末尾に「_test.go」が付いたソースコードファイルであり、いくつかのテスト関数が含まれています。テスト関数は通常、名前の先頭に「Test」が付いており、タイプ「testing.T」のパラメーター宣言を持つ関数です。
ここで、goc2p プロジェクト内のいくつかのコード パッケージをテストしてみましょう。 go test
コマンドを使用するときにコード パッケージを指定する方法は、他のコマンドの場合と同じです。コード パッケージのインポート パスを使用します。複数のコード パッケージをテストする必要がある場合は、インポート パスの間にスペースを追加して区切る必要があります。例は次のとおりです。
hc@ubt:~$ go test basic cnet/ctcp pkgtool ok basic 0.012s ok cnet/ctcp 2.014s ok pkgtool 0.014s
go test
このコマンドは、コード パッケージ内のすべてのテスト ファイルを実行した後、コード パッケージの単位でテストの概要情報を出力します。上記の例では、3 つのコード パッケージに対応する 3 行の情報の最初の列は「ok」です。これは、全員がテストに合格したことを意味します。各行の 3 列目は、対応するテストの実行にかかった時間を秒単位で示します。コード パッケージ ディレクトリでパラメータを指定せずに go test
コマンドを実行することもできます。その機能と結果は上記の例と同じです。
さらに、テスト用のテスト ソース コード ファイルを指定することもできます。この場合、go test
コマンドは、次のように、指定されたファイル内のテストのみを実行します。
hc@ubt:~/golang/goc2p/src/pkgtool$ go test envir_test.go # command-line-arguments ./envir_test.go:25: undefined: GetGoroot ./envir_test.go:40: undefined: GetAllGopath ./envir_test.go:81: undefined: GetSrcDirs ./envir_test.go:83: undefined: GetAllGopath ./envir_test.go:90: undefined: GetGoroot FAIL command-line-arguments [build failed]
コンパイルまたは実行するソース コード ファイルを指定するのと同じように、次のことがわかります。コマンド プログラムは、ソース コード ファイルによって仮想コード パッケージ「コマンドライン引数」が生成されます。しかし、テストは不合格でした。しかし、その理由はテストが失敗したことではなく、コンパイルが失敗したことです。このテストを実行するコマンド プログラムのテスト ソース コード ファイル envir_test.go は、コード パッケージ「command-line-arguments」に属します。また、このテストソースコードファイルは、ライブラリソースコードファイル envir.go 内の関数を使用しています。ただし、このライブラリのソース コード ファイルがインポートされているコード パッケージは表示されません。これは明らかにコンパイルエラーを引き起こします。この問題を解決するには、コマンドの実行時に、このテスト ソース コード ファイルでテストされるソース コード ファイルも追加する必要があります。例は次のとおりです。
hc@ubt:~/golang/goc2p/src/pkgtool$ go test envir_test.go envir.go ok command-line-arguments 0.010s
ここで、コード パッケージ pkgtool
内の特定のテストに意図的に失敗します。ここで、もう一度テストを実行してみましょう。
hc@ubt:~$ go test basic cnet/ctcp pkgtool ok basic 0.010s ok cnet/ctcp 2.015s --- FAIL: TestGetSrcDirs (0.00 seconds) envir_test.go:85: Error: The src dir '/usr/local/go/src/pkg' is incorrect. FAIL FAIL pkgtool 0.009s
上記の例の概要情報から、テスト ソース コード ファイル内の envir_test.go のテスト関数 TestGetSrcDirs
のテストが失敗したことがわかります。テストに失敗したテスト ソース ファイルの名前を含む情報の行で、テスト ソース ファイル名の直後のコロンで区切られた数字はエラー メッセージが含まれる行番号であり、その行の後のコロンで区切られた数字はエラー メッセージが含まれる行番号です。番号はエラーメッセージです。このエラー メッセージの内容はユーザーが作成したものです。また、概要情報の最終行には「FAIL」という接頭辞が付きます。これは、コード パッケージ pkgtool のテストが合格していないことを示します。失敗の理由は前のメッセージに記載されています。
通常の状況では、テスト ソース コード ファイルとテスト対象のソース コード ファイルを同じコード パッケージに配置します。また、これらのソースコードファイル内で宣言されているパッケージ名も同じです。さらに、別のオプションがあります。つまり、テスト ソース コード ファイルで宣言されるパッケージ名は、対応するパッケージの名前に「_test」サフィックスを加えたものにすることができます。この種のテスト ソース コード ファイルを、アウトオブパッケージ テスト ソース コード ファイルと呼びます。ただし、パッケージの外部でソース コード ファイルをテストすることには欠点があります。つまり、テスト対象のソース コード ファイル内のパッケージ レベルのプライベート プログラム エンティティは、パッケージ レベルのプライベート変数、関数、テスト関数などのテスト関数でテストできません。そして構造タイプ。これは、両者が属するコード パッケージが異なるためです。したがって、通常、パッケージ外のテスト ソース コード ファイルを作成することはほとんどありません。
タグについて
go test
コマンドのタグ処理部分は非常に大きく複雑であるため、Go 言語開発者はロジックのこの部分を go test
コマンドの本体から分離する必要があります。プログラム ソースコードファイルを分離して作成します。 go test
コマンドにはコンパイル アクションが含まれているため、go build
コマンドで使用できるすべてのタグを受け入れることができます。さらに、多くのユニークなマーキングが施されています。これらのタグはコマンド自体の動作を制御するために使用され、一部はテスト プロセスと環境の制御とセットアップに使用され、一部はより詳細なテスト結果と統計情報を生成するために使用されます。
go test
コマンドで使用できる一般的なタグには、-c
、-i
、 などがあります。 -o
。これら 2 つは、go test
コマンド自体のアクションを制御するために使用されるマーカーです。詳細については、以下の表を参照してください。
表 0-6 go test
コマンドの説明をマーク
マーク名 | マークの説明 |
---|---|
-c | テストを実行するための実行可能ファイルを生成しますが、実行はしません。この実行可能ファイルの名前は「pkg.test」になります。「pkg」は、テスト対象のコード パッケージのインポート パスの最後の要素の名前です。 |
-i | テストの実行に必要な依存関係パッケージをインストール/再インストールしますが、テスト コードをコンパイルして実行することはしません。 |
-o | テストの実行に使用する実行可能ファイルの名前を指定します。タグ -c または -i も追加されない限り、このタグを追加してもテスト コードの実行には影響しません。 |
go test コマンドで依存関係パッケージをインストールし、テスト コードをコンパイルしますが、テストを実行することではありません。つまり、テストを実行する前に、コマンド プログラムにすべてのプロセスを実行させます。これは、テスト プロセスをテストするために使用できます。
-c タグを追加すると、コマンド プログラムはテストの実行に使用される実行可能ファイルを現在のディレクトリに保存することに注意してください。
以上がgo testの機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

go语言有缩进。在go语言中,缩进直接使用gofmt工具格式化即可(gofmt使用tab进行缩进);gofmt工具会以标准样式的缩进和垂直对齐方式对源代码进行格式化,甚至必要情况下注释也会重新格式化。

本篇文章带大家了解一下golang 的几种常用的基本数据类型,如整型,浮点型,字符,字符串,布尔型等,并介绍了一些常用的类型转换操作。

go语言叫go的原因:想表达这门语言的运行速度、开发速度、学习速度(develop)都像gopher一样快。gopher是一种生活在加拿大的小动物,go的吉祥物就是这个小动物,它的中文名叫做囊地鼠,它们最大的特点就是挖洞速度特别快,当然可能不止是挖洞啦。

是,TiDB采用go语言编写。TiDB是一个分布式NewSQL数据库;它支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性。TiDB架构中的PD储存了集群的元信息,如key在哪个TiKV节点;PD还负责集群的负载均衡以及数据分片等。PD通过内嵌etcd来支持数据分布和容错;PD采用go语言编写。

在写 Go 的过程中经常对比这两种语言的特性,踩了不少坑,也发现了不少有意思的地方,下面本篇就来聊聊 Go 自带的 HttpClient 的超时机制,希望对大家有所帮助。

go语言需要编译。Go语言是编译型的静态语言,是一门需要编译才能运行的编程语言,也就说Go语言程序在运行之前需要通过编译器生成二进制机器码(二进制的可执行文件),随后二进制文件才能在目标机器上运行。

删除map元素的两种方法:1、使用delete()函数从map中删除指定键值对,语法“delete(map, 键名)”;2、重新创建一个新的map对象,可以清空map中的所有元素,语法“var mapname map[keytype]valuetype”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
