近年、インターネット技術の発展により、API (Application Programming Interface) の開発とテストがインターネット企業にとって重要な役割を果たしています。 API テストのプロセスが単純で、効率が高く、コードの再利用率が高いため、ますます多くのインターネット企業が自動テストを使用して API インターフェイスをテストし始めています。この記事では、APIテストにBeegoフレームワークを使用する方法を詳しく紹介します。
1. Beego フレームワークの紹介
Beego は Go 言語をベースにした Web フレームワークであり、その効率性の高さ、シンプルさ、学習のしやすさにより、ますます多くの開発者に使用されています。 。さらに、Beego は、ORM、Websocket、Redis、CORS、Swagger などのツールやプラグインを豊富に提供しており、開発効率を大幅に向上させることができます。
2. 開発ツール
開発を開始する前に、必要な開発ツールを準備する必要があります。この記事で使用した開発環境は次のとおりです:
1. オペレーティング システム: Windows 10
2. Go バージョン: go1.11.4 windows/amd64
3. Beegoバージョン: 1.12. 1
4. テスト フレームワーク: GoConvey
5. ブラウザ: Chrome
6. コード エディター: Sublime Text 3
7.データベース: MySQL
3. インストールと構成
1. Go のインストール
まず、Go 言語開発環境をインストールする必要があります。公式 Web サイト (https://golang.org/dl/) から対応するインストール パッケージをダウンロードします。ダウンロードが完了したら、ダブルクリックしてインストール パッケージを実行し、インストールを完了します。
2. Beego のインストール
Go 言語をインストールした後、Beego フレームワークをインストールする必要があります。 Beego は、次のコマンドを使用してインストールできます。
go get -u github.com/astaxie/beego
このコマンドは、Beego フレームワークを GOPATH パスにダウンロードします。
3. GoConvey のインストール
GoConvey は、プロジェクト内のすべてのテスト ケースを検出し、これらのテスト ケースを自動的に実行できる Go 言語の単体テスト フレームワークです。 GoConvey のインストール方法は次のとおりです:
go get github.com/smartystreets/goconvey
4. MySQL のインストール
この記事では、MySQL データベースを使用します。ダウンロードしてインストールするには、MySQL の公式 Web サイトにアクセスしてください: https://dev.mysql.com/downloads/mysql/
MySQL をインストールするときは、組み込みの MySQL Workbench をインストールすることをお勧めします。
4. Beego プロジェクトの作成
Beego プロジェクトを作成するには、コマンド ラインまたは Beego が提供する Web ツールを使用する方法があります。この記事では、コマンド ラインを使用して「MyAPI」というプロジェクトを作成します。コマンドラインに次のコマンドを入力します:
bee new MyAPI
すると、「MyAPI」という名前の Beego プロジェクトが現在のディレクトリに作成されます。
次に、前にインストールした MySQL データベースを使用する必要があります。 MySQL Workbench で、新しいデータベースを作成し、MyAPI という名前を付け、次の SQL ステートメントを実行します。
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), password VARCHAR(50), created_at TIMESTAMP DEFAULT NOW() )
この SQL ステートメントは、 id、username、password、created_at の 4 つのフィールドを含む users という名前のテーブルを作成します。
次に、データベースへのアクセス権限を付与する必要があります。 MySQL Workbench を開き、[データベース] -> [ユーザーと権限] -> [アカウントの追加] を選択し、新しいユーザーを作成し、そのユーザーに MyAPI データベースへの読み取りおよび書き込み権限を割り当てます。
5. API の作成
Beego プロジェクトを作成した後、テストのためにいくつかの API インターフェイスをプロジェクトに追加する必要があります。 MyAPI プロジェクトの main.go に、次のコードを追加します。
package main import ( "MyAPI/controllers" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) func init() { orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "username:password@tcp(127.0.0.1:3306)/MyAPI?charset=utf8") orm.RegisterModel(new(models.User)) orm.RunSyncdb("default", false, true) } func main() { beego.Router("/api/user/:id", &controllers.UserController{}) beego.Run() }
上記のコードでは、beego.Router() メソッドを使用して API パス「/api/user/:id」に接続します。 " tocontrollers.UserController {}このコントローラはバインドされています。また、ORM (オブジェクト リレーショナル マッピング) テクノロジを使用して、MySQL データベースと対話し、RegisterDataBase() メソッドを使用してデフォルト データベースを登録し、データベース内にユーザー テーブルを作成し、ユーザー構造を ORM モデルとして登録します。
controllers.UserController{} コントローラを作成するときに、HTTP GET リクエストを処理し、特定のユーザーを取得するために次のコードを追加しました:
func (c *UserController) Get() { o := orm.NewOrm() user := models.User{} id, _ := strconv.Atoi(c.Ctx.Input.Param(":id")) user.ID = id err := o.Read(&user) if err != nil { c.Data["json"] = err.Error() } else { c.Data["json"] = user } c.ServeJSON() }
6. API インターフェイスのテスト
この記事では、GoConvey を使用して API インターフェイスをテストします。 Tests という名前のディレクトリを Beego プロジェクトに追加し、そのディレクトリ内に user_test.go という名前のテスト ファイルを作成する必要があります。
package tests import ( "MyAPI/models" "github.com/astaxie/beego/orm" "net/http" "net/http/httptest" "testing" "github.com/smartystreets/goconvey/convey" ) func TestGetUser(t *testing.T) { convey.Convey("GetUser", t, func() { o := orm.NewOrm() user := models.User{Username: "testuser", Password: "testpass"} id, _ := o.Insert(&user) req, _ := http.NewRequest("GET", "/api/user/"+strconv.Itoa(int(id)), nil) resp := httptest.NewRecorder() beego.BeeApp.Handlers.ServeHTTP(resp, req) convey.So(resp.Code, convey.ShouldEqual, 200) }) }
上記のコードでは、GoConvey が提供するコンベア パッケージを使用して API インターフェイスをテストしました。まず、ORM を使用して testuser という名前の新しいユーザーを作成し、HTTP GET リクエストを通じてこのユーザーを取得します。次に、convey.So() メソッドを使用して、ユーザー情報を取得する HTTP ステータスが 200 であるかどうかを確認します。
7. テストを開始します
コマンド ラインから MyAPI プロジェクトのディレクトリを入力し、次のコマンドを実行します:
go test ./tests/...
このコマンドは、 MyAPI プロジェクト を開き、テスト結果を表示します。
8. 概要
この記事では、Beego を API テストに使用する基本的なプロセスを紹介します。 Beego フレームワークと GoConvey ツールの助けを借りて、API テストをより適切に実施し、プロジェクトにより良い保証を提供することができます。同時に、新しい技術やツールを学び続け、開発やテストに対する熱意を維持し、技術レベルを向上させることも必要です。
以上が実践応用:Beegoを使ったAPIテストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。