আমি রুবেলগুলিকে রেল 4 এবং আরএসপেক-রেলস রত্ন 2.14 ব্যবহার করছি। আমার কোনও অবজেক্টের জন্য আমি updated_at
একটি নিয়ামক ক্রিয়াকলাপ চালানোর পরে অবজেক্ট অ্যাট্রিবিউটের সাথে বর্তমান সময়ের তুলনা করতে চাই , তবে চশমাটি পাস না হওয়ায় আমি সমস্যায় আছি। এটি হল, নিম্নলিখিতটি কোডের নীচে দেওয়া হল:
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at).to eq(Time.now)
end
যখন আমি উপরের অনুমানটি চালাই আমি নিম্নলিখিত ত্রুটিটি পাই:
Failure/Error: expect(@article.updated_at).to eq(Time.now)
expected: 2013-12-05 14:42:20 UTC
got: Thu, 05 Dec 2013 08:42:20 CST -06:00
(compared using ==)
আমি কিভাবে অনুমানটি পাস করতে পারি?
দ্রষ্টব্য : আমি নিম্নলিখিতগুলিও চেষ্টা করেছি ( utc
সংযোজনটি দ্রষ্টব্য ):
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at.utc).to eq(Time.now)
end
তবে অনুমানটি এখনও পাস হয় না ("পাওয়া" মানের পার্থক্যটি নোট করুন):
Failure/Error: expect(@article.updated_at.utc).to eq(Time.now)
expected: 2013-12-05 14:42:20 UTC
got: 2013-12-05 14:42:20 UTC
(compared using ==)
===
পরিবর্তে কেবল ব্যবহার করুন ==
- বর্তমানে আপনি দুটি ভিন্ন টাইম অবজেক্টের অবজেক্ট_আইডি তুলনা করছেন। যদিও টাইমকপ ডাটাবেস সার্ভারের সময় হিমায়িত করবে না। । । সুতরাং যদি আপনার টাইমস্ট্যাম্পগুলি আরডিবিএমএস দ্বারা উত্পাদিত হয় তবে এটি কার্যকর হবে না (আমি আশা করি এটি আপনার পক্ষে যদিও এখানে সমস্যা নয়)
===
, তবে এটি দ্বিতীয় সীমানা অতিক্রম করে ভুগতে পারে। সম্ভবত আপনার নিজের ম্যাচারের সন্ধান বা লেখাই সম্ভবত সেরা, যাতে আপনি যুগের সেকেন্ডে রূপান্তর করেন এবং একটি সামান্য পরম পার্থক্যের জন্য অনুমতি দেন।