Giới thiệu và gửi lời chào từ gopher (logo của Go ở thời điểm hiện tại là chú chuột vàng, tôi nghĩ là rất đáng yêu )
Giới thiệu thông tin cơ bản của diễn giả (Dang Viet Ha đến từ cty INNOVATUBE)
Hơn 90% mã nguồn của Docker được viết bằng Golang (Chứng tỏ và nhấn mạnh sự mạnh mẽ của Golang)
GitHub: https://github.com/docker/docker
socket.io là thư viện implement websocket cho phép giao tiếp 2 chiều giữa client và server được dễ dàng
Golang cũng có một vài thư viện implement theo websocket spec
Xây dựng một ứng dụng chat đơn giản bằng go socket.io
Thư viện go socket.io: https://github.com/googollee/go-socket.io
Trình bày qua về source code và chạy ứng dụng chat trên web: https://github.com/hadv/gochatapp
Muốn thực hiện unit test cho ứng dụng chat bằng socket.io thì phải làm như thế nào? chuyển sang slide tiếp theo để trình bày về Ginkgo và Gomega
Giới thiệu sơ qua về Ginkgo và Gomega (Cặp bài trùng)
Gingko: Hỗ trợ viết code test nhanh chóng, dễ hiểu và hiệu quả
Gomega: Cặp bài trùng với Ginkgo, Gomega là thư viện để thực hiện kiểm tra kết quả test được dễ dàng.
Demo: chạy 2 lệnh ginkgo cơ bản để generate code test
Trình bày chi tiết code unit test bằng cách sử dụng go channel và Ginkgo Asynchronous Tests
ginkgo -r --randomizeAllSpecs -cover
go tool cover -html=gochatapp.coverprofile
Coi test case thất bại nếu như có error bằng cách sử dụng Fail(“nội dung tại sao thất bại”)
Thay đổi gía trị timeout xuống giá trị rất nhỏ để làm cho test case bị thất bại.
Demo ginkgo watch -r
Giới thiệu và gửi lời chào từ gopher (logo của Go ở thời điểm hiện tại là chú chuột vàng, tôi nghĩ là rất đáng yêu )
Giới thiệu thông tin cơ bản của diễn giả (Dang Viet Ha đến từ cty INNOVATUBE)