최근 인터넷 기술의 발달로 인해 API(Application Programing Interface) 개발 및 테스트가 인터넷 기업에게 중요한 부분이 되었습니다. API 테스트의 간단한 프로세스, 높은 효율성 및 높은 코드 재사용률로 인해 점점 더 많은 인터넷 회사에서 자동화된 테스트를 사용하여 API 인터페이스를 테스트하기 시작했습니다. 이 기사에서는 API 테스트에 Beego 프레임워크를 사용하는 방법을 자세히 소개합니다.
1. Beego 프레임워크 소개
Beego는 효율성, 단순성 및 배우기 쉬운 특성으로 인해 점점 더 많은 개발자가 사용하는 Go 언어 기반의 웹 프레임워크입니다. 또한 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 .Browser: Chrome
6. 코드 편집기: Sublime Text 3
7. 데이터베이스: MySQL
3. 설치 및 구성
1. 먼저 Go 언어 개발을 설치해야 합니다. 환경. 공식 홈페이지(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 웹사이트로 이동하세요: https://dev.mysql.com/downloads/mysql/
MySQL 설치 시 내장된 MySQL Workbench를 설치하는 것이 좋습니다.
4. Beego 프로젝트 만들기
Beego 프로젝트를 만드는 방법에는 명령줄이나 Beego에서 제공하는 도구 웹을 사용할 수 있습니다. 이 기사에서는 명령줄을 사용하여 "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, 사용자 이름, 비밀번호 및 생성된_at의 네 가지 필드가 포함된 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"를 컨트롤과 연결합니다. Controllers.UserController{} 장치 바인딩. 또한 ORM(Object Relational Mapping) 기술을 사용하여 MySQL 데이터베이스와 상호 작용하고, RegisterDataBase() 메서드를 사용하여 기본 데이터베이스를 등록하고, 데이터베이스에 사용자 테이블을 생성하고, User 구조를 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 인터페이스. 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 요청을 통해 이 사용자를 얻은 다음, carry.So() 메서드를 사용하여 사용자 정보를 얻는 HTTP 상태가 200인지 확인합니다.
7. 테스트 시작
명령줄을 통해 MyAPI 프로젝트 디렉터리를 입력하고 다음 명령을 실행합니다.
go test ./tests/...
이 명령은 MyAPI 프로젝트의 모든 테스트 사례를 테스트하고 테스트 결과를 표시합니다.
8. 요약
이 글에서는 API 테스트에 Beego를 사용하는 기본 프로세스를 소개합니다. Beego 프레임워크와 GoConvey 도구의 도움으로 API 테스트를 더 잘 수행하고 프로젝트에 대한 더 나은 보증을 제공할 수 있습니다. 동시에 우리는 새로운 기술과 도구를 계속해서 배우고, 개발과 테스트에 대한 열정을 유지하며, 기술 수준을 향상시켜야 합니다.
위 내용은 실제 적용: Beego를 사용한 API 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!