मेरे ऐप में मैं यह कहना चाहता हूं कि नोटिफिकेशन सही प्रारूप में जोड़े गए हैं। मैं आमतौर पर निर्भरता इंजेक्शन के साथ ऐसा करता हूं, लेकिन मैं नए UNUserNotificationCenter
एपीआई का परीक्षण करने के तरीके के बारे में नहीं सोच सकता। मैं नकली का दृष्टांत नहीं कर सकतेयूनिट परीक्षण आईओएस 10 नोटिफिकेशन
import Foundation
import UserNotifications
class NotificationCenterMock: UNUserNotificationCenter {
var request: UNNotificationRequest? = nil
override func add(_ request: UNNotificationRequest, withCompletionHandler completionHandler: ((Error?) -> Void)? = nil) {
self.request = request
}
}
हालांकि, UNUserNotificationCenter
कोई सुलभ initializers है:
मैं एक नकली वस्तु जो अधिसूचना अनुरोध पर कब्जा होगा बनाने के लिए शुरू कर दिया।
मुझे यह भी सुनिश्चित नहीं है कि मैं अधिसूचना अनुरोध जोड़कर और वर्तमान अधिसूचनाएं लाकर परीक्षण कर सकता हूं, क्योंकि परीक्षणों को सिम्युलेटर पर अनुमति का अनुरोध करने की आवश्यकता होगी जो परीक्षणों को रोक देगा। वर्तमान में मैंने अधिसूचना तर्क को एक रैपर में दोहराया है, इसलिए मैं कम से कम अपने आवेदन के दौरान नकल कर सकता हूं और मैन्युअल रूप से परीक्षण कर सकता हूं।
क्या मेरे पास मैन्युअल परीक्षण से बेहतर विकल्प हैं?
एक स्मार्ट समाधान की तरह लगता है, धन्यवाद! – squarefrog
यह एक महान प्रतिक्रिया है। क्या आपको लगता है कि मॉक 'func getNotificationSettings (completHandler: @escaping (UNNotificationSettings) -> Swift.Void) के लिए एक समान दृष्टिकोण का पालन करना संभव है? मुझे लौटा 'UNNotificationSettings' ऑब्जेक्ट का मज़ाक उड़ाते हुए परेशानी हो रही है क्योंकि इसे तत्काल नहीं किया जा सकता है। – JimmyB