0
当需要为STI关联编写单元测试时,应该使用哪些步骤。我完全困惑。请提供一些建议或指导一些教程。 在此先感谢如何编写STI关联的单元测试Ruby on Rails
当需要为STI关联编写单元测试时,应该使用哪些步骤。我完全困惑。请提供一些建议或指导一些教程。 在此先感谢如何编写STI关联的单元测试Ruby on Rails
STI关系中绝对没有什么特别的,你应该写测试用例。由于这是由框架提供的功能,框架附带了一堆测试用例。
你只需要编写测试用例你正在构建中。
测试的所有3类,你通常会测试任何个人类:
class Person < ActiveRecord::Base
attr_reader :first_name, :last_name
def initialize
@first_name = "George"
@last_name = "Washington"
end
def formatted_name
"#{@first_name} #{@last_name}"
end
end
class Doctor < Person
def formatted_name
"Dr. #{@first_name} #{@last_name}"
end
end
class Guy < Person
def formatted_name
"Mr. #{@first_name} #{@last_name}"
end
end
describe Person do
describe "#formatted_name" do
person = Person.new
person.formatted_name.should == "George Washington"
end
end
describe Doctor do
describe "#formatted_name" do
doctor = Doctor.new
doctor.formatted_name.should == "Dr. George Washington"
end
end
describe Guy do
describe "#formatted_name" do
guy = Guy.new
guy.formatted_name.should == "Mr. George Washington"
end
end
如果有一种是在正在类的初始化后执行STI子类,即方法的一些代码。我认为测试这些代码是明智的。 – Rohit 2010-09-23 09:17:08
是的,正如我所说,如果您定制了它,那么您将需要运行内置测试。此外,内置的STI模块将确保类的正确实例被加载,具体取决于'type',所以如果你正在改变它,那么你可以编写测试用例。我的观点是,STI没有什么通用的。发布一些代码,如果你有任何,我们可以从那里拿走它。 – Swanand 2010-09-23 09:55:57
其中一个子类有助于上传文件,另一个子类用于存储多选答案。 STI父母中有一列“价值”,上传文件的名称被存储,用户选择的选项也被保存在该列中,每个选项都有自己的记录。希望你现在对情况有更好的了解。 – Rohit 2010-09-24 05:06:08