Plots2: 为 Search API 中的每个方法添加更多功能测试

创建于 2018-01-22  ·  3评论  ·  资料来源: publiclab/plots2

您好,这是一个仅限初学者的问题。 这意味着我们一直在努力使之前没有为我们的代码库做出贡献的人甚至以前没有为开源做出贡献的人更容易阅读。

如果这就是您,我们有兴趣帮助您迈出第一步,并且可以像您一样回答问题并帮助您解决问题。 请注意,我们对自由和开源软件中代表性不足的群体的贡献特别感兴趣!

如果您以前有过贡献,请考虑将这个留给新人,并查看我们的一般帮助需要的问题。 谢谢!

问题

测试帮助我们确保网站的行为符合我们的预期——并且随着新功能的添加,它们不会破坏现有功能。 我们正在努力达到接近 100% 的“覆盖率”——这意味着我们所有的代码都被测试覆盖了。
我们为 typeahead API 编写了很好的测试,在这里: https :

这测试了每个方法: https :

但是我们应该有类似的搜索 API,对于每个方法: https :

(请注意,这些反过来又大量地利用了这个文件——如果你想知道它们是如何生成的:https://github.com/publiclab/plots2/blob/master/app/services/search_service.rb)

解决方案

在#1409 中,第一次贡献者最近创建了一个新的测试文件和一个单独的测试,您可以在 test/functional/search_api_test.rb 中找到它:

测试“搜索笔记功能”做
get '/api/srch/notes?srchString=Blog'
断言 last_response.ok?
# 在这之后还有更多的东西
这是响应“正常”的基本测试,然后继续测试响应中的内容。 看看它如何使用 URL 访问这一行的 notes 方法:

因此,复制它,并按照 search.rb 中提供的 URL 示例为不同的方法创建新测试。 例如配置文件: https :

从断言 last_response.ok 开始? 如上; 我们可以稍后添加更多实质性测试。

您可以尝试使用 rake test 或(仅运行功能测试)rake test TEST=test/functional/search_api_test.rb 来运行它——希望它会通过!

但是您也可以只打开一个拉取请求(见下文),我们的自动化测试系统将运行它,您将能够在那里看到输出。

如果您能对此提供帮助,请打开添加此测试的拉取请求,让我们看看它是如何进行的——即使它没有通过,我们也可以帮助您完成后续步骤。

修复步骤

在下面的此处发表评论声明此问题,并提出您需要的任何澄清问题
按照 README 说明在本地设置存储库,并确保所有测试都通过
尝试按照上述步骤解决问题,但即使在完成之前,您也可以:
提交您的更改并启动拉取请求(请参阅为公共实验室软件做出贡献),但如果您有疑问或尚未完成,请将其标记为“进行中”
通过开发人员列表(见下文)提醒某人合并您的拉取请求。 这可能需要一些额外的步骤,具体取决于您何时执行,但我们会帮助您!
如果您有任何问题,请通过电子邮件发送开发人员列表(请参阅 https://publiclab.org/wiki/developers)或前往聊天室,并查看我们的首次登录页面了解更多信息!

Ruby first-timers-only help wanted testing

所有3条评论

这看起来不错, @Gauravano ! 也许更多的标题格式,也许? 谢谢!

我可以索赔吗?

是啊,那样最好了。

此页面是否有帮助?
0 / 5 - 0 等级