के साथ पासवर्ड की लंबाई सत्यापन का परीक्षण करना मैं यह सुनिश्चित करने के लिए कुछ यूनिट परीक्षण लिख रहा हूं कि उपयोगकर्ता मॉडल में पासवर्ड < 8 वर्ण लंबा नहीं हो सकता है।आरएसपीसी
class User < ActiveRecord::Base
...
validates :password, :length =>{
:minimum => 90,
:too_short => "password is too short, must be at least %{count} characters"
}, :on => :create
end
और एक user_spec.rb परीक्षण:
मैं एक उपयोगकर्ता मॉडल के साथ शुरू कर दिया
describe User do
subject { FactoryGirl.build :user }
its(:password) { should have_at_least(8).items }
end
हालांकि मैंने महसूस किया कि यह वास्तव में मेरे सत्यापन परीक्षण नहीं होता है, यह सिर्फ परीक्षण है कि मेरे कारखाने में एक पासवर्ड था = = 8 अक्षर।
क्या वैध परीक्षण के अलावा ऐसा करने का कोई अच्छा तरीका है? 0-7 वर्ण पासवर्ड के लिए विधि?
मेरा सिद्धांत यह है कि यदि मैं केवल 7 अक्षरों के लिए परीक्षण करता हूं और कोई गलती से हार्ड कोड है कि 4 वर्ण पासवर्ड ठीक हैं तो यह सत्यापन पास होगा लेकिन वास्तव में इसका इरादा नहीं था। कुछ कोड हो सकता है जहां यह 8 अक्षरों से अधिक होने वाले पासवर्ड पर निर्भर करता है (संभव नहीं है लेकिन अन्य स्थितियों में सत्य हो सकता है) और इसलिए 4 का पासवर्ड गलत है।
इस मामले में मॉडल में पासवर्ड सत्यापन बदलने वाले व्यक्ति को यह नहीं पता होगा कि उन्होंने कुछ भी गलत किया है।
मैं सिर्फ यह जानना चाहता हूं कि टीडीडी के साथ इस तरह की परिस्थितियों का सही ढंग से परीक्षण कैसे करें।
मैं आपकी समस्या को समझ में नहीं आता .. – apneadiving