我只是花了很多年試圖弄清楚爲什麼我的規格是孤立傳遞的,但是當一起運行控制器和lib測試時,一些規格神祕失敗。罪魁禍首是這樣的:使用RSpec,常量是否描述了一個大的禁忌?
在一個規範:
describe SomeThing do
CONSTANT_VALUE = "a value"
# ... examples etc ...
end
而在另一:
describe AnotherThing do
CONSTANT_VALUE = "a different value"
# ... the rest is history
end
我會分配給這些常量我的規格之間的漏水,從而導致意外的行爲的價值觀念。我是否應該使用let
塊來定義常量等?或者是其他東西?
我認爲你應該在你的測試中使用let,因爲描述沒有像類,模塊,方法等那樣擁有自己的變量範圍 – xinit 2011-05-25 18:41:38