Unit Test với Google Test (GTest) trên Linux

Google Test là Framework phát triển bởi Google dùng để thực hiện Unit test cho ngôn ngữ C/C++ (ai chưa rõ Unit Test là gì thì có thể tìm hiểu thêm tại đây). Google Test hỗ trợ nhiều nền tảng như Linux, Windows, MacOS X, Symbian, … và cho phép thực hiện Unit test dễ dàng hơn nhờ công cụ tạo dummy code rất mạnh mẽ là Google Mock.

Trong phạm vi bài viết này mình sẽ hướng dẫn anh em setup và sử dụng Google Test trên Ubuntu 14.04 (các phiên khác của Linux như Ubuntu 12.04, 16.04 hoặc Centos… cũng thực hiện tương tự).

Các bước thực hiện như sau →

1. Install source package của Gtest

Trên terminal gõ lệnh sau →

Sau khi kết thục lệnh này, source code của Gtest sẽ được download về đường dẫn /usr/src/gtest. Việc tiếp theo là build thư viện Gtest từ source code này.

2. Build thư viện Gtest

Cài đặt cmake →

Thực hiện build thư viện →

Copy thư viện Gtest vừa build vào đường dẫn /usr/lib →

3. Thực hiện Unit test với Gtest

Giả sử chúng ta cần thực hiện Unit test cho hàm tính diện tích hình vuông như sau 

Tiếp theo tạo file test.cpp, trong này ta sẽ thực hiện 2 hàm test (gọi là 2 TESTS) đơn giản, một TEST cho các trường hợp tham số không hợp lệ, 1 TEST cho các tham số hợp lệ

Cho 3 file function_need_to_test.h, function_need_to_test.cpp và test.cpp vào cùng 1 folder, ở ví dụ của mình là folder /home/tuanpm3/Gtest. Tạo file CMakeLists.txt trong cùng folder như sau 

4. Build và chạy Unit test

Di chuyển vào folder /home/tuanpm3/Gtest 

Tạo folder build →

Di chuyển vào folder build và tạo Makefile bằng lệnh cmake →

Sau khi kết thúc lệnh cmake thì bên trong folder build đã có Makefile. Việc bây giờ là make để build file chạy 

Giờ thì chạy file runTests →

Kết quả test sẽ hiển thị ra như sau 

Anh em nếu hứng thú với Google Test có thể tìm hiểu thêm tại đây.

— Author: Phạm Minh Tuấn —

DEV quèn có tâm