在ruby中对不同服务的Oauth进行单元测试的方法?
当90%的时间我在构建Oauth连接类时,我实际上需要登录到远程服务,那么在编写单元测试方面有什么最佳实践吗 我正在构建一个rubygem,它可以登录到Twitter/Google/MySpace等网站,最困难的部分是确保我拥有适合该特定提供商的设置,我想为此编写测试 有推荐的方法吗?如果我做了模拟或存根,我仍然需要花90%的时间来考虑如何使用该服务,并且最终会在事后而不是之前编写测试在ruby中对不同服务的Oauth进行单元测试的方法?,ruby,unit-testing,Ruby,Unit Testing,当90%的时间我在构建Oauth连接类时,我实际上需要登录到远程服务,那么在编写单元测试方面有什么最佳实践吗 我正在构建一个rubygem,它可以登录到Twitter/Google/MySpace等网站,最困难的部分是确保我拥有适合该特定提供商的设置,我想为此编写测试 有推荐的方法吗?如果我做了模拟或存根,我仍然需要花90%的时间来考虑如何使用该服务,并且最终会在事后而不是之前编写测试 另一方面,如果我为每个Oauth提供者创建了测试API密钥,并且我只是将其用于gem的测试目的,那么在测试中将
另一方面,如果我为每个Oauth提供者创建了测试API密钥,并且我只是将其用于gem的测试目的,那么在测试中将API密钥和机密保留在普通视图中有什么问题吗?所以其他人也可以更现实地测试它。在集成测试中使用实时服务没有什么错 不过,您应该在单元测试中完全删除oauth部分 如果您计划对正在编写的代码进行开源,那么在代码中保留API键可能不是一个好主意,因为当gem变得流行并且人们频繁运行测试时,您可能会遇到API使用限制或速率限制,这将导致意外的测试失败