最近在帮朋友做一个超级复杂的系统,没有写测试。 由于逻辑复杂而且自己编程习惯不够好,感觉代码量一大就很难高效开发了——经常牵一发而动全身,改动一处导致其他地方的 bug。
之前自学过一部分 Rails 测试,关于 model 的测试应该不难。但是如果接入微信,如何 mock 微信登录部分呢?还是直接跳过这部分,直接算用户登录后的情形?
另外关于 sidekiq 的 worker 部分如何测试比较好?
sidekiq
rspec 和 minitest 哪个都 ok 初学无所谓 php 才是最好的语言
微信登录 mock 不好做 web mock 用 webmock 这个 gem
sidekiq 的 work 你就测 work 的逻辑就好了
如果你不能把 RSpec 用的足够简单的话,还是不要用了
自带的足够好用了,没必要用 Rspec, sidekiq 可以这样测试
require 'sidekiq/testing' Sidekiq::Testing.inline!
这样就可以随意的执行 worker 了
我更习惯用 rspec
我自己用的自带的 minitest 事实上我现在手里几分代码,只要不是在 github 上开源的 统统是不写测试的
和微信互操作的部分肉测吧(直接放线上环境测,有条件开个测试用的站点和公众号、开放平台 etc),效率反而高...
https://rspeconrails.com/ 安道翻译的,貌似要出新版了
谢谢!
谢谢老师,微信支付这块也肉测么
他们也是最近才有沙箱的。。。过去别无选择的
哇!看帖的过程中突然看到提醒,神速回复!
测试可以考虑 mock 测试吧。
看你是出于什么目的写测试了。如果仅为了更方便重构而不容易破坏已有代码。那就用 minitest 足够了。其他时候还是用 Rspec 吧。更具描述性,方便全程验收测试驱动。