Trong testing thì tạo data test là 1 việc chắc chắn phải làm, trong automation test thì lại càng cần thiết khi mà phải tạo ra 1 số lượng lớn data. Với mỗi ngôn ngữ lại có rất nhiều cách để tạo data khác nhau, nhưng cách dễ nhất là dùng thư viện có sẵn. Hôm nay, mình sẽ giới thiệu 1 library của Java: Faker.
Nội dung bài viết
I. Cài đặt Faker
Homepage: https://github.com/DiUS/java-faker
Maven: khai báo trong pom.xml
<dependency> <groupid>com.github.javafaker</groupid> <artifactid>javafaker</artifactid> <version>0.18</version> </dependency>
Gradle: khai báo trong build.gradle
dependencies { implementation 'com.github.javafaker:javafaker:0.18' }
II. Sử dụng Faker
Một số loại common data mà Faker cung cấp:
@Test void test2() { Faker faker = new Faker(); // Create full name System.out.println(faker.name().fullName()); // Create cellPhone System.out.println(faker.phoneNumber().cellPhone()); // Create emailAddress System.out.println(faker.internet().emailAddress()); // Create job System.out.println(faker.job().position()); // Create String in number format that has xxx digits System.out.println(faker.number().digits(18)); // Create number between xxx and yyy System.out.println(faker.number().numberBetween(0, 100)); }
Khi bạn khởi tạo faker object mà ko có tham số gì thì mặc định nó sẽ tiếng anh. Nếu bạn muốn data của bạn là tiếng Trung thì bạn có thể sử dụng.
Faker faker = new Faker(new Locale("zh-CN"));
Faker có 1 list các loại ngôn ngữ support, bạn xem thêm ở đây.
Ngoài ra Faker còn cung cấp rất nhiều loại data khác nhau nữa, các bạn có thể tìm hiểu thêm ở http://dius.github.io/java-faker/apidocs/index.html.
III. Kết luận
Hi vọng rằng với Faker thì các bạn làm automation sẽ không phải suy nghĩ quá nhiều đến việc tạo data test nữa, mình đang rất happy với nó 😀
[…] Dummy data là dữ liệu “ngu ngốc” thường được tạo để làm data test, không có ý nghĩa gì cả. [NOTED] Cách khác để tạo dummy data https://giangtester.com/tao-dummy-fake-data-bang-faker/ […]
[…] ← Previous […]
[…] dụng Faker để generate fake data, mình đã viết hướng dẫn ở đây. Bạn không nên khai báo Faker như 1 field của Object vì như thế khi Jackson convert […]