以下是我有:如何刪除應用程序測試中的重複?
context "Create ingredient from string" do
context "1 cups butter" do
setup do
@ingredient = Ingredient.create(:ingredient_string => "1 cups butter")
end
should "return unit" do
assert_equal @ingredient.unit, 'cups'
end
should "return amount" do
assert_equal @ingredient.amount, 1.0
end
should "return name" do
assert_equal @ingredient.name, 'butter'
end
end
context "1 (18.25 ounce) package devil's food cake mix with pudding" do
setup do
@ingredient = Ingredient.create(:ingredient_string => "1 (18.25 ounce) package devil's food cake mix with pudding")
end
should "return unit" do
assert_equal @ingredient.unit, '(18.25 ounce) package'
end
should "return amount" do
assert_equal @ingredient.amount, 1.0
end
should "return name" do
assert_equal @ingredient.name, 'devil\'s food cake mix with pudding'
end
end
end
很明顯,有很多重複出現。關於如何刪除它的任何想法,只要至少在上下文和字符串?
使用[Shoulda] [1]的最新版本,您可以將自己的宏放在[RAILS_ROOT] \ test \ shoulda_macros中,Shoulda會自動將其選中。 [1]:http://giantrobots.thoughtbot.com/2008/9/30/shoulda-2-0 – 2008-10-23 11:48:49