
Kiểm thử với RSpec
Kiến thức cơ bản về RSpec, model specs, request specs, system tests (Capybara), FactoryBot, mocking, kiểm thử job
1Tệp cấu hình chính của RSpec trong một ứng dụng Rails là gì?
Tệp cấu hình chính của RSpec trong một ứng dụng Rails là gì?
Câu trả lời
Tệp spec/spec_helper.rb (hoặc spec/rails_helper.rb cho các bài kiểm thử Rails) là tệp cấu hình chính của RSpec. Nó tải môi trường kiểm thử và cấu hình các tùy chọn toàn cục của RSpec. Trong các dự án Rails hiện đại, rails_helper.rb tải spec_helper.rb và bổ sung các cấu hình dành riêng cho Rails như tải môi trường kiểm thử và các helper của Rails.
2Cú pháp đúng để định nghĩa một khối kiểm thử (example) trong RSpec là gì?
Cú pháp đúng để định nghĩa một khối kiểm thử (example) trong RSpec là gì?
Câu trả lời
Trong RSpec, một bài kiểm thử riêng lẻ được định nghĩa bằng it hoặc specify, theo sau là một mô tả trong dấu nháy và một khối. Cú pháp it 'description' do ... end là phổ biến nhất. Khối describe hoặc context nhóm các bài kiểm thử liên quan, trong khi it định nghĩa một example cụ thể. Cú pháp đọc được tự nhiên như tiếng Anh này là một trong những điểm mạnh của RSpec.
3Sự khác biệt giữa describe và context trong RSpec là gì?
Sự khác biệt giữa describe và context trong RSpec là gì?
Câu trả lời
describe và context giống hệt nhau về mặt chức năng trong RSpec, nhưng tuân theo các quy ước ngữ nghĩa khác nhau. describe được dùng để mô tả đối tượng đang được kiểm thử (một lớp, một phương thức), trong khi context mô tả các điều kiện hoặc hoàn cảnh của bài kiểm thử. Ví dụ, describe User theo sau bởi context 'when email is valid'. Sự phân biệt này cải thiện khả năng đọc của spec.
Matcher nào của RSpec được dùng để xác minh rằng một giá trị bằng một giá trị khác?
Làm thế nào để chỉ chạy các test từ một file spec cụ thể với RSpec?
+21 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Ruby on Rails khác
Kiến thức cơ bản về Ruby
Lập trình hướng đối tượng trong Ruby
Kiến thức cơ bản về Rails
Routing & Controllers
Kiến thức cơ bản về ActiveRecord
Views & Template ERB
Liên kết ActiveRecord
Truy vấn ActiveRecord nâng cao
Form Rails
Xác thực & Phân quyền
Asset Pipeline hiện đại & frontend
Chế độ API của Rails
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Chiến lược Caching
Migration nâng cao
Rails Engines & ứng dụng mô-đun
Tối ưu hóa hiệu năng
Design Patterns trong Rails
Lập trình meta trong Ruby
Bảo mật Rails
GraphQL với Rails
Triển khai & Sản xuất
Monitoring & Logging
Chiến lược nâng cấp Rails
Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí