2012-04-20 37 views
5

Tôi đang làm việc với một bộ rất lớn các tính năng dưa chuột đã có và thêm các thử nghiệm bổ sung. Đối với những thử nghiệm mới này, tôi cũng đang cố gắng sử dụng các phép biến đổi để đơn giản hóa các tác vụ lặp đi lặp lại.Phạm vi biến đổi trong dưa chuột

Làm cách nào để thêm biến đổi mà không vi phạm các thử nghiệm hiện có? Tôi đã thêm ngữ cảnh vào nhóm chụp, nhưng vì ngữ cảnh là từ cùng một miền kinh doanh như các thử nghiệm đã tồn tại, nó có thể dễ dàng kết thúc.

Có cách nào để chỉ áp dụng biến đổi cho các bước nhất định không?

Trả lời

2

Bạn có thể sử dụng thẻ và bộ lọc Trước để đặt biến mẫu trên thế giới. Điều này sau đó có sẵn cho Chuyển đổi của bạn để nó có thể thực hiện các biến đổi thẻ cụ thể. Ví dụ: nếu bạn chỉ muốn chuyển đổi số nguyên khi thẻ @hook xuất hiện:

Transform /(\d+)/ do |num| 
    if @hook 
    num.to_i 
    else 
    num 
    end 
end 

Before('@hook') do 
    @hook = true 
end 

Một thế giới mới được tạo cho mỗi kịch bản và bộ lọc Trước được gọi. Vì vậy, @hook sẽ được đặt lại cho mỗi Kịch bản.

+0

Ý tưởng thú vị, nhưng giờ đây các tệp nổi bật sẽ phải nhận thức được các biến đổi, khi nó thực sự là định nghĩa bước quan tâm –

+0

@Chris Có tôi cho rằng tôi không trả lời câu hỏi * thực * của bạn về việc áp dụng biến đổi thành một số các bước. Bạn đã nói rằng họ là những bài kiểm tra bổ sung, vì vậy tôi nghĩ rằng đó là những kịch bản mới. – graza

+0

Cảm ơn, đây có thể là điều tốt nhất có thể tại thời điểm này! –