【发布时间】:2020-07-27 14:59:16
【问题描述】:
我正在浏览应该匹配器和上下文以重构一些文本并使它们更简洁和可读,但是彻底,我找不到如何具体测试的文档:
(我正在关注 Hartl 教程,我正在尝试以 Minitest 方式重构,而不是 Rspec)
default_scope -> { order(created_at: :desc) }
has_one_attached :image
&
validates :image, content_type: { in: %w[image/jpeg image/gif image/png],
message: 'must be a valid image format' },
size: { less_than: 5.megabytes,
strong textmessage: 'should be less than 5MB' }
这个:
attr_accessor :remember_token, :activation_token, :reset_token
before_save :downcase_email
before_create :create_activation_digest
这个:
resources :account_activations, only: [:edit]
resources :password_resets, only: %i[new create edit update]
resources :microposts, only: %i[create destroy]
resources :relationships, only: %i[create destroy]
【问题讨论】:
-
Hartl 的 rails 教程是关于如何从不编写测试的非常好的指南。真的是太可怕了。尤其是地毯轰炸验证测试。您要测试的行为到底是什么?请在问题正文中包含被测代码和测试本身,因为链接可能并且将会中断。
-
在这个特定的例子中,测试很糟糕,因为测试的整个排列部分都隐藏在夹具文件中。任何重构都应该真正从安排、行动、断言开始,而不仅仅是使用 shoulda 给猪化妆。
-
@max,我对 Rails 并不陌生,但我是按照他的教程来学习如何编写测试的,但后来我发现了有关 Shoulda,我认为它更简洁易读,举个例子,你如何用Shouda以Minitest方式测试路由的资源?
标签: ruby-on-rails ruby testing minitest shoulda