-
Notifications
You must be signed in to change notification settings - Fork 28
How to Test and How to Use
Vorapod edited this page Nov 26, 2020
·
9 revisions
**การทดสอบนี้ รองรับการทดสอบแค่ Linux กับ macOS เท่านั้น
Tools | Version | Description |
---|---|---|
nodejs | 10.13.0 ขึ้นไป | ใช้สำหรับรัน npm และ newman ใน Command Line Interface |
npm | 6.2.0 ขึ้นไป | ใช้สำหรับติดตั้ง newman ในเครื่องผ่าน Command Line Interface |
docker | 18.03.0 Community Edition ขึ้นไป | ใช้สำหรับสร้างและรัน Container ของ Insurance Gateway |
newman | 4.0.0 ขึ้นไป | ใช้สำหรับรัน Acceptance Test เป็น Postman ในเวอร์ชันของ Command Line Interface |
go | 1.12 ขึ้นไป | ใช้สำหรับรัน Unit Test, Build เป็น Binary File |
python | 2.7 ขึ้นไป | ใช้สำหรับรัน Acceptance Test คู่กับ Robotframework และ selenium2library |
- เข้าไปยังที่อยู่ของ store-service
cd store-service
- ทำการเรียกใช้คำสั่ง
go vet
เพื่อทำการวิเคราะห์ระดับ Source Code เพื่อหาข้อผิดพลาด
go vet ./...
- (เมื่อไม่พบข้อผิดพลาด) ทำการเรียกใช้คำสั่ง
go test
เพื่อทดสอบ Unit Test ทั้งหมด
go test ./...
- ใช้คำสั่งเพื่อทำการ Start Service/Dependency รอบข้าง
docker-compose up -d store-database bank-gateway shipping-gateway
- ทำการใช้คำสั่ง seeding data เมื่อสถานะของ Service/Dependency รอบข้างพร้อมใช้งานแล้ว
cat tearup/init.sql | docker exec -i store-database /usr/bin/mysql -u sealteam --password=sckshuhari --default-character-set=utf8 toy
- เข้าไปยังที่อยู่ของ store-service
cd store-service
- ทำการเรียกใช้คำสั่ง
go test
เพื่อทดสอบ Integration Test ทั้งหมด
cd store-service && go test -tags=integration ./...
- ใช้คำสั่งเพื่อทำการ Start System
docker-compose up -d
- ทำการใช้คำสั่ง seeding data เมื่อสถานะของ Service/Dependency รอบข้างพร้อมใช้งานแล้ว
cat tearup/init.sql | docker exec -i store-database /usr/bin/mysql -u sealteam --password=sckshuhari --default-character-set=utf8 toy
- ใช้ newman เมื่อทดสอบในระดับ API โดยใช้คำสั่ง
newman run atdd/api/shopping_cart_success.json -e atdd/api/environment/local_environment.json -d atdd/api/data/shopping_cart_success.json
- ทำการใช้คำสั่ง seeding data อีกครั้งเพื่อเตรียมข้อมูลสำหรับใช้ในการทดสอบระดับ UI
cat tearup/init.sql | docker exec -i store-database /usr/bin/mysql -u sealteam --password=sckshuhari --default-character-set=utf8 toy
- ใช้ Robotframework เมื่อทดสอบในระดับ UI โดยใช้คำสั่ง
robot atdd/ui/shopping_cart_success.robot
-
make frontend
เป็นคำสั่งที่รวมคำสั่งทั้งหมดของ Front-end ที่ประกอบไปด้วยคำสั่งดังนี้- install_dependency_frontend
- code_analys_frontend
- run_unittest_frontend
- build_frontend
-
make backend
เป็นคำสั่งที่ีรวมคำสั่งทั้งหมดของ Back-end ที่ประกอบไปด้วยคำสั่งดังนี้- code_analys_backend
- run_unittest_backend
- run_integratetest_backend
- build_backend
-
make run_robot
เป็นคำสั่ง run test ของ Acceptance Test(UI) -
make run_newman
เป็นคำสั่ง run test ของ Acceptance Test(API) -
make start_service
เป็นคำสั่ง start service ของ docker -
make seed
เป็นคำสั่งการ insert data ลงใน database -
make stop_service
เป็นคำสั่ง down service ของ docker
-
make install_dependency_frontend
เป็นคำสั่งติดตั้ง dependency -
make code_analys_frontend
เป็นคำสั่งในการตรวจสอบ code -
make run_unittest_frontend
เป็นคำสั่งการ run unit test -
make build_frontend
เป็นคำสั่งการ build image docker
-
make code_analys_backend
เป็นคำสั่งในการตรวจสอบ code -
make run_unittest_backend
เป็นคำสั่งการ run unit test -
make run_integratetest_backend
เป็นคำสั่งการ run integrate test (ในชั้นของ repository) -
make build_backend
เป็นคำสั่งการ build image docker