测试 最近深感需要学习 Rails 测试了,RSpec 和自带测试框架哪个好一些?5.1 新增的系统测试有什么好的入门指南吗?(微信应用)

imwildcat · 2017年06月22日 · 最后由 robotsir 回复于 2017年06月29日 · 6896 次阅读

最近在帮朋友做一个超级复杂的系统,没有写测试。 由于逻辑复杂而且自己编程习惯不够好,感觉代码量一大就很难高效开发了——经常牵一发而动全身,改动一处导致其他地方的 bug。

之前自学过一部分 Rails 测试,关于 model 的测试应该不难。但是如果接入微信,如何 mock 微信登录部分呢?还是直接跳过这部分,直接算用户登录后的情形?

另外关于 sidekiq 的 worker 部分如何测试比较好?

  1. rspec 和 minitest 哪个都 ok 初学无所谓 php 才是最好的语言

  2. 微信登录 mock 不好做 web mock 用 webmock 这个 gem

  3. sidekiq 的 work 你就测 work 的逻辑就好了

如果你不能把 RSpec 用的足够简单的话,还是不要用了

3 楼 已删除

自带的足够好用了,没必要用 Rspec, sidekiq 可以这样测试

require 'sidekiq/testing'
Sidekiq::Testing.inline!

这样就可以随意的执行 worker 了

我更习惯用 rspec

我自己用的自带的 minitest
事实上我现在手里几分代码,只要不是在 github 上开源的
统统是不写测试的😞

和微信互操作的部分肉测吧(直接放线上环境测,有条件开个测试用的站点和公众号、开放平台 etc),效率反而高...

https://rspeconrails.com/ 安道翻译的,貌似要出新版了

w7938940 回复

谢谢!

jasl 回复

谢谢老师,微信支付这块也肉测么

imwildcat 回复

他们也是最近才有沙箱的。。。过去别无选择的

jasl 回复

哇!看帖的过程中突然看到提醒,神速回复!

测试可以考虑 mock 测试吧。

看你是出于什么目的写测试了。如果仅为了更方便重构而不容易破坏已有代码。那就用 minitest 足够了。其他时候还是用 Rspec 吧。更具描述性,方便全程验收测试驱动。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号