Giới thiệu Lọc và Trình định dạng trong Rspec

Tram Ho

I. Giới thiệu

Rspec là một khung sử dụng để kiểm tra Ruby. Nó hơi khác một chút so với các khung công tác khác bởi dễ đọc và hiểu cú pháp bởi những người không có nhiều kiến ​​thức lập trình. Rspec chủ yếu tập trung vào cách bạn mô tả hành vi của ứng dụng của bạn và nó không đề cập đến quy trình hoặc luồng trong ứng dụng của bạn. Trong bài viết này, tôi sẽ chỉ cho bạn về 2 tính năng trong rspec: lọcđịnh dạng .

II. Lọc

Mỗi ví dụ trong Rspec đều có siêu dữ liệu liên quan và bạn có thể nối thêm thông tin tùy ý vào nó. Bằng cách thêm siêu dữ liệu với bất kỳ giá trị nào bạn muốn, bạn có thể chạy rspec và lọc chúng theo giá trị bạn đặt thành siêu dữ liệu. Ví dụ: bây giờ chúng tôi có một tệp rspec: spec / sample_spec.rb như dưới đây:

Sau khi chạy thử sample_spec.rb, chúng tôi nhận được kết quả:

Bây giờ chúng tôi thêm siêu dữ liệu first and second vào tệp sample_spec.rb của chúng tôi như sau:

Bằng cách thêm siêu dữ liệu, bây giờ bạn có thể lọc ví dụ để chạy bằng lệnh bên dưới:

  • Trong trường hợp: first: true

bạn có thể thấy ví dụ chỉ kết quả đã được chạy:

  • Trong trường hợp: second: true và kết quả như sau:

III. Formatters

Trình định dạng cho phép RSpec hiển thị đầu ra kết quả kiểm tra theo nhiều cách khác nhau. Rspec cung cấp cho bạn một số trình định dạng và sử dụng nó với kết quả đầu ra mà bạn muốn. Một cách khác, RSpec cho phép tùy chỉnh đầu ra bằng cách tạo lớp Formatter của riêng bạn. Dưới đây là một số Trình định dạng mà bạn có thể sử dụng trong Rspec:

  • progress (default) – In các dấu chấm để vượt qua các ví dụ, F cho các lỗi, * để chờ xử lý.
  • documentation – In các documentation được truyền để mô tả và phương thức (và bí danh của chúng).
  • html
  • json – Hữu ích cho việc lưu trữ dữ liệu để phân tích tiếp theo. Trình định dạng tiến trình là mặc định, dù sao bạn cũng có thể chọn một hoặc nhiều trình định dạng khác bằng cách chuyển qua tùy chọn dòng lệnh --format (hoặc -f ngắn).

Giả sử chúng ta có một tệp spec/sample_spec.rb :

Hãy thử chạy với tùy chọn --format progress :

Sau khi chúng tôi chạy lệnh, bạn có thể thấy không khác gì với những gì chúng tôi chạy mà không có --format progress . Rspec sẽ đặt --format progress định dạng theo định dạng defualt.

Hãy thử chạy với tùy chọn --format documentation :

Kết quả:

IV. Phần kết luận

Tôi hy vọng bài viết này có thể giúp tất cả các bạn hiểu thêm về Rspec freature. Đặc biệt, về 2 tính năng mà tôi nói ở trên:

  • Cách lọc ví dụ mà bạn muốn chạy bằng cách thêm siêu dữ liệu.
  • Làm thế nào để định dạng kết quả đầu ra với các trình định dạng Rspec.
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo