最近在帮朋友做一个超级复杂的系统,没有写测试。 由于逻辑复杂而且自己编程习惯不够好,感觉代码量一大就很难高效开发了——经常牵一发而动全身,改动一处导致其他地方的 bug。
之前自学过一部分 Rails 测试,关于 model 的测试应该不难。但是如果接入微信,如何 mock 微信登录部分呢?还是直接跳过这部分,直接算用户登录后的情形?
另外关于 sidekiq
的 worker 部分如何测试比较好?
rspec 和 minitest 哪个都 ok 初学无所谓 php 才是最好的语言
微信登录 mock 不好做 web mock 用 webmock 这个 gem
sidekiq 的 work 你就测 work 的逻辑就好了
自带的足够好用了,没必要用 Rspec, sidekiq 可以这样测试
require 'sidekiq/testing'
Sidekiq::Testing.inline!
这样就可以随意的执行 worker 了
看你是出于什么目的写测试了。如果仅为了更方便重构而不容易破坏已有代码。那就用 minitest 足够了。其他时候还是用 Rspec 吧。更具描述性,方便全程验收测试驱动。