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

imwildcat · June 22, 2017 · Last by robotsir replied at June 29, 2017 · 6897 hits

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

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

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

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

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

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

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

3 Floor has deleted

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

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

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

我更习惯用 rspec

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

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

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

Reply to w7938940

谢谢!

Reply to jasl

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

Reply to imwildcat

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

Reply to jasl

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

测试可以考虑 mock 测试吧。

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

You need to Sign in before reply, if you don't have an account, please Sign up first.