我需要为返回的项目列表编写测试。
Scenario: Test Model method Project.all
it "Gets all projects" do
projects = Project.all(authentication: @auth);
project_names = project.map {|project| project["name"]}
expect(project_names).to match_array(["Test", "Test2", "Test3"]);
end
要测试什么,我的模型方法Project.all
会返回projects
的列表,但我不确定test
对它的反应。现在我正在检查project
列表是否有这些标题。
答案 0 :(得分:1)
我认为问题的范围在如何以及测试什么方面相当普遍。
1)一个好的经验法则是只测试你拥有的东西。这是您编写的代码,而不是已经测试过的框架或库方法。我建议测试自定义方法而不是#all方法。
2)另一个好的规则是要意识到在现实世界中,你不能测试所有可能的分支,你应该只测试这么多来覆盖最可能的情况。应用于上述示例的此规则意味着仅测试返回的对象数,而不测试其各个属性的值。