मेरे पास मेरे ऐप में बहुत सारी कार्यक्षमता है जो दिनांक/समय निर्भर है (उदाहरण के लिए "यदि तारीख x है, तो y दिखाएं)। मैं उपयोगकर्ता की वर्तमान दिनांक/समय प्राप्त करने के लिए [NSDate दिनांक] का उपयोग करता हूं। मैं कार्यक्षमता का परीक्षण कर सकता हूं अपने आईफोन पर दिनांक/समय को मैन्युअल रूप से बदलकर, लेकिन मुझे आश्चर्य है कि वर्तमान समय को प्रोग्रामेटिक रूप से ओवरराइट करने का कोई तरीका है, इसलिए मैं सिम्युलेटर और अधिक तेज़ी से परीक्षण कर सकता हूं।परीक्षण उद्देश्यों के लिए ऐप के भीतर आईफोन दिनांक/समय सेट करें?
उत्तर
आप किसी भी तारीख के साथ एनएसडीएट ऑब्जेक्ट्स बना सकते हैं ।/समय आप चाहते हैं बस इस विधि प्राप्त करने के लिए "वर्तमान" समय के लिए एक विधि के माध्यम से और अंदर अपना कोड को चलाने या तो उत्पादन के लिए वास्तविक तारीख या परीक्षण के लिए अपनी पसंद के कुछ तारीख लौट
dateByAddingTimeInterval:।
एक नया एनएसडीएट ऑब्जेक्ट देता है जो रिसीवर के सापेक्ष किसी दिए गए सेकंड पर सेट होता है।
- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds
पैरामीटर सेकंड सेकंड की संख्या रिसीवर में जोड़ने के लिए। रिटर्नवर से पहले एक तिथि निर्दिष्ट करने के लिए सेकंड के लिए ऋणात्मक मान का उपयोग करें। रिटर्न वैल्यू एक नई एनएसडीएटी ऑब्जेक्ट जो रिसीवर के सापेक्ष सेकंड सेकेंड पर सेट है। लौटाई गई तारीख में रिसीवर से अलग प्रतिनिधित्व हो सकता है।
स्रोत: प्रलेखन: p
यह ऐसा करने का एक और तरीका है की + (NSDate *) की तारीख एक कस्टम कार्यान्वयन प्रदान करना है। आप JRSwizzle का उपयोग कर इस कक्षा विधि को घुमा सकते हैं। NSDate के लिए एक छोटा सा वर्ग बनाओ:
static NSTimeInterval seconds = 1300000000;
@interface NSDate (Fixed)
+ (NSDate *)fixedDate;
@end
@implementation NSDate (Fixed)
+ (NSDate *)fixedDate
{
return [NSDate dateWithTimeIntervalSince1970:seconds];
}
@end
कोड जहां आप निश्चित तारीख करना चाहते हैं में तो निम्नलिखित करें:
NSError *error;
[NSDate jr_swizzleClassMethod:@selector(date) withClassMethod:@selector(fixedDate) error:&error];
NSLog(@"Date:%@", [NSDate date]);
इस बाहर लॉग प्रिंट:
2011-09-01 11:35:27.844 tests[36597:10403] Date:2011-03-13 07:06:40 +0000
NSDate
पर एक श्रेणी बनाएं और +[NSDate date]
विधि
+ (instancetype)date
{
return [NSDate dateWithTimeIntervalSince1970:100000]; // Replace with any date you want
}
01 को ओवरराइड करें
- 1. स्थानीय परीक्षण उद्देश्यों के लिए HTTPS कैसे सेट अप करें?
- 2. https केवल परीक्षण उद्देश्यों के लिए भी?
- 3. परीक्षण उद्देश्यों के लिए अनुकरण एसएसएच सर्वर
- 4. पूरे आईफोन/आईपैड ऐप के लिए पृष्ठभूमि छवि सेट करें
- 5. ऐप के लिए न्यूनतम आईफोन ओएस संस्करण सेट करें?
- 6. एक्सकोड: केवल आईफोन होने के लिए ऐप कैसे सेट करें?
- 7. विकास उद्देश्यों के लिए डमी एसएमटीपी सर्वर
- 8. Django - परीक्षण उद्देश्यों के लिए डेटाबेस को पॉप्युलेट करना
- 9. परीक्षण कंप्यूटर पर आईफोन सिम्युलेटर में परीक्षण के लिए एक आईफोन ऐप वितरित करने के लिए कैसे?
- 10. आईफोन - एप्लिकेशन के भीतर info.plist द्वारा इंगित ऐप आइकन बदलें?
- 11. आईफोन ऐप संकलित कोड के भीतर जानकारी कितनी सुरक्षित है?
- 12. यूनिट-परीक्षण उद्देश्यों के लिए किसी अन्य असेंबली में कक्षाओं का उपयोग कैसे करें?
- 13. सिम्युलेटर के बजाय, मेरे आईफोन में अपने आईफोन ऐप का परीक्षण कैसे करें?
- 14. मैक के बिना आईफोन ऐप विकसित करें?
- 15. अपने संगठन के भीतर फेसबुक ऐप डेवलपमेंट प्रबंधित करें
- 16. क्या आईफोन एप्लिकेशन के भीतर प्राथमिकताओं को सेट करने के लिए कोई पुस्तकालय या ढांचा है?
- 17. सीमित नेटवर्क एक्सेस के साथ आईफोन ऐप का परीक्षण
- 18. परीक्षण उद्देश्यों के लिए धीमी प्रतिक्रिया समय अनुकरण करने के लिए nginx का उपयोग
- 19. आईफोन ऐप के लिए सुरक्षित https एन्क्रिप्शन
- 20. आईफोन ऐप के लिए ध्वनि प्रारूप
- 21. आईफोन ऐप के लिए क्लास आरेख बनाना
- 22. आईफोन ओएस ऐप के लिए उपलब्ध स्मृति
- 23. परीक्षण उद्देश्यों के लिए आधार नियंत्रक निर्भरता इंजेक्शन को कैसे हल करें?
- 24. आईफोन ऐप के लिए नंबरों को स्थानीय कैसे स्थानांतरित करें?
- 25. आईफोन एसडीके ऐप के लिए एग्रीजन व्यू कैसे कार्यान्वित करें?
- 26. एक यूपीएनपी आईफोन ऐप बनाने के लिए कैसे मार्गदर्शित करें?
- 27. फोनगैप में आईफोन ऐप के लिए पृष्ठभूमि छवि कैसे सेट करें
- 28. परीक्षण उद्देश्यों के लिए दिनांक समय के सभी उदाहरणों द्वारा उपयोग किया जाने वाला समय मॉकिंग।
- 29. केवल आईफोन या आईपैड के लिए व्यूपोर्ट कैसे सेट करें?
- 30. बहु-साइट ऐप पर एकीकरण परीक्षण की लंबाई के लिए सबडोमेन कैसे सेट करें?
मुझे नहीं लगता कि वह एक परीक्षण ढांचा विधि चाहता है बल्कि पूरे ऐप पर "रोल फॉरवर्ड" परीक्षण करने के लिए एक सिस्टम विधि चाहता है। यह ऐसा लगता है कि डेस्कटॉप यूनिट के सिस्टम समय को 1/1/2040 जैसे किसी चीज़ को सेट करके गैर-मोबाइल ऐप का परीक्षण करके यह देखने के लिए कि क्या कुछ तोड़ता है या नहीं। – TechZen