मैं आईफोन के लिए यूनिट परीक्षण लिखने पर ऐप्पल के दस्तावेज का पालन कर रहा हूं, और बॉक्स के बाहर, दिनचर्या काम नहीं कर रही है। मुझे यकीन नहीं है कि मैं समझता हूं कि इकाई परीक्षण आवेदन प्रतिनिधि के संदर्भ में कहां जा रहा है।आईफोन - तार्किक इकाई परीक्षणों के लिए संसाधनों को पुनर्प्राप्त करना
मेरे निर्भरता निम्नलिखित की तरह कर रहे हैं: My_Program_target -> UnitTesting_target -> UnitTests_bundle
निम्नलिखित कोड का टुकड़ा जहां ज़ोर विफल रहता है। मैं CPPUNIT से बहुत परिचित हूं, लेकिन मुझे यह समझने में परेशानी हो रही है कि यह कैसे पार हो जाता है।
- (void) testAppDelegate {
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIAppliation failed to find the AppDelegate");
}
इसके अतिरिक्त
:
मैं अपने दृष्टिकोण एक तर्क परीक्षण करने के लिए तय कर लिया है। मैं एक एक्सएमएल फ़ाइल में पढ़ने की कोशिश कर रहा हूं, लेकिन मुझे बंडल को हल करने में भाग्य नहीं है, जो मुझे उस पथ के साथ प्रदान करेगा जिससे मैं अपनी फाइल तक पहुंच सकता हूं। मैंने सभी बंडलों द्वारा पथ आउटपुट में पेस्ट करने का प्रयास किया है, लेकिन वह पथ या तो काम नहीं कर रहा है। नीचे क्या मैं अपने परीक्षण में क्रियान्वित कर रहा हूँ है (आप डिबग बयान देख सकते हैं मैं उत्पादन के लिए बंडलों के रास्तों का उपयोग कर रहा):
NSLog(@"BundlePaths: %@", [NSBundle allBundles]);
NSString * path = [[NSBundle bundleWithPath:@"$(TARGET_BUILD_DIR)"] pathForResource:@"SimpleTestList" ofType:@"plist"];
STAssertNotNil(path, @"Bundle Location couldn't find the file specified");
अनिवार्य रूप से, रास्ते पर ज़ोर सफल नहीं है, लेकिन मैं मुझे यकीन नहीं है कि मेरे यूनिटटेस्ट बंडल को संदर्भित करने के लिए पथ या निर्देशिका को क्या रखा जाए, जिसे मैंने बंडल संसाधनों की प्रतिलिपि बनाने के लिए कहा है। कॉलिंग [एनएसबंडल मेनबंडल] या तो काम नहीं करता है।
गैरी के समाधान का निर्माण, मैं निम्नलिखित के साथ आया [एक्सकोड: टेस्ट बनाम डेब्यूग प्रीप्रोसेसर मैक्रोज़] (http://stackoverflow.com/questions/6748087/xcode-test-vs-debug-preprocessor-macros/6763597 # 6,763,597)। – ma11hew28