2010-07-01 10 views
5

में मान्यता प्राप्त नहीं हैं I XCode 3.2.3, और आईओएस 4.0 पर ओसीयूनीट का उपयोग करके अपने आईफोन ऐप पर यूनिट परीक्षण कर रहा हूं। मैं सफलतापूर्वक उचित रूप से गुजरती हैं और बुनियादी परीक्षण विफल मेरी परीक्षण वातावरण की स्थापना की है, लेकिन जब मैं (मेरे अपने फ़ाइलें आयात इस मामले में, "UserAccount.h", यह संकलन करने में विफल रहता है और मुझसे कहता है:आयातित फ़ाइलें OCUnit

"_OBJC_CLASS_ $ _UserAccount ", संदर्भित से:

यह तो कहते हैं," प्रतीक (रों) नहीं मिला, "यह मेरे लिंकर त्रुटि के कुछ प्रकार के रूप में हमलों, लेकिन मुझे पता नहीं क्या हो रहा है है मैं का निर्माण किया है और सभी लक्ष्यों कई की सफाई की।। बार, लेकिन कोई फायदा नहीं हुआ। यहां मेरा परीक्षण कोड है:

#import "SomeTestCase.h" 
#import "UserAccount.h" 

@implementation SomeTestCase 

- (void)testUserAccount 
{ 
// UserAccount.m // 

UserAccount *testAccount = [[UserAccount alloc] initWithUsername:@"" password:@"" deviceToken:@""]; 
[testAccount registerNew]; 
NSLog(@"USERID = %@", testAccount.userID); 
STAssertEquals([testAccount login], NO, @"Failure: Login should fail with blank username and password."); // should fail with no username or password 

UserAccount *testAccount2 = [[UserAccount alloc] initWithUsername:@"user" password:@"" deviceToken:@""]; 
STAssertEquals([testAccount2 login], NO, @"Failure: Login should fail with blank password.");// should fail with no password 

UserAccount *testAccount3 = [[UserAccount alloc] initWithUsername:@"" password:@"pass" deviceToken:@""]; 
STAssertEquals([testAccount3 login], NO, @"Failure: Login should fail with blank username.");// should fail with no password 

} 

@end 

कोई भी सलाह बहुत स्वीकृति होगी eciated। धन्यवाद!

-मैट

उत्तर

2

मुझे लगता है कि होता है कि UserAccount.m परीक्षण लक्ष्य को जोड़ा नहीं गया है। इससे "प्रतीकों को नहीं मिला" त्रुटि होगी। मैंने कई लक्ष्यों के साथ कई बार देखा, जिसमें एक्सकोड हेडर को पहचानता है, भले ही कार्यान्वयन फ़ाइल लक्ष्य का हिस्सा न हो।

यदि यह काम नहीं करता है, तो Xcode>Empty Caches... के साथ एक्सकोड कैश खाली करने का प्रयास करें।

+0

धन्यवाद! लक्ष्य में स्रोत जोड़ना चाल था। – mag725

3

XCode 4 में कम से कम आप अपने परीक्षण लक्ष्य में अपने आवेदन मीटर फ़ाइलों को शामिल नहींचाहिए। यह करने के लिए उचित तरीका है:

  1. आपका परियोजना (ऊपरी बाएँ) -> लक्ष्य -> ​​आपका टेस्ट लक्ष्य -> ​​लक्ष्य निर्भरता -> + आपका मुख्य अनुप्रयोग लक्ष्य
  2. सेटिंग्स टैब का निर्माण करने के लिए स्विच -> लिंक करना -> बंडल लोडर -> $ (BUILT_PRODUCTS_DIR)

एक अच्छा तरीका /YourAppName.app/YourAppName कि यह कैसे ठीक से किया जाता है इकाई परीक्षण के साथ एक नया XCode 4 प्रोजेक्ट बनाने के लिए और फिर कैसे देखने के लिए परीक्षण लक्ष्य सेटअप है। आप आवेदन देखेंगे। एम फाइलें परीक्षण लक्ष्य में शामिल नहीं हैं।

+0

धन्यवाद, इससे बहुत मदद मिली –

संबंधित मुद्दे