加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

测试 – 使用外部服务/ api的代码的TDD BDD的最佳实践

发布时间:2020-12-14 04:50:13 所属栏目:百科 来源:网络整理
导读:我正在使用一个Twitter宝石,基本上访问Twitter,让我抓住推文,时间线等.它真的很好,但我有很多我的代码使用它返回的东西,我需要测试它.宝石返回的东西不是简单的字符串,有非常复杂的对象(也很可怕),所以我留下了挠头. 所以基本上我正在寻找一个答案,书籍,博客
我正在使用一个Twitter宝石,基本上访问Twitter,让我抓住推文,时间线等.它真的很好,但我有很多我的代码使用它返回的东西,我需要测试它.宝石返回的东西不是简单的字符串,有非常复杂的对象(也很可怕),所以我留下了挠头.

所以基本上我正在寻找一个答案,书籍,博客,开源项目,它可以向我展示围绕外部服务进行测试的权利和错误.

最重要的是,不是以语言为中心或以ruby / rails为中心的答案.

解决方法

你真正在谈论的是你想要完成的两种不同的测试 – 单元测试和集成测试.

单元测试将独立于任何外部数据测试方法的有效性.您应该根据您使用的任何语言来研究某种模拟框架.你基本上想要用测试来说,相当于“如果这些假设是合格的,那么这个测试应该产生……”制作框架将定义你的假设,就是说某些类/对象设置在一种特殊的方式,可以假设是有效的.这些测试不依赖于Twitter活着,或者第三方库/ API响应.

集成测试将针对数据源执行实时测试,使用库/ API执行实际操作.如果它变得棘手,因为您正在使用第三方服务,所以正在写入服务(即,如果您正在创建新的推文).如果你是,你总是可以在Twitter上创建一个可以仅用于写操作的帐户.通常,如果您正在测试本地数据库(例如),那么您可以使用事务来测试类似的操作;回滚事务而不是提交它们.

以下是一些非语言特定的高级定义:

> Wikipedia (Software Testing)
> Wikipedia (Mock Object)

我来自.NET堆栈,因此我不会假装对Ruby有太多了解.不过,快速谷歌搜索确实揭示了以下内容:

> Mocha (Ruby Mocking Framework)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读