这是带有验证的Consumer类
df[~df.num.str.match('^\-?(\d*\.?\d+|\d+\.?\d*)$')]
N-D num unit
4 Q5 sum(d) UD
这是我用来测试消费者电子邮件是否采用有效格式但我收到错误的原因。除了这种方法之外,还有更好的方法来测试正则表达式吗?
class Consumer < ActiveRecord::Base
validates :email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create, message: 'invalid email format'}, length: { maximum: 256 }
答案 0 :(得分:1)
如果您保证Consumer
对象的所有其他值都有效,则可以简化测试。
例如,假设您的Customer
有email
,password
,name
,last_name
;然后你可以这样测试:
it 'email with invalid format is invalid' do
consumer = Consumer.new(email: 'bugs', password: '12345', name: 'John', last_name: 'Doe')
expect(consumer.valid?).to be(false)
end
在此示例中,所有属性都是正确的,email
除外,因此仅检查valid?
是否返回false
就足够了。