??????????
????VVStackTests.m??Xcode??????????????????????????????????????????????????????????????????????????£?

 

#import<XCTest/XCTest.h>
@interfaceVVStackTests:XCTestCase
@end
@implementationVVStackTests
-(void)setUp
{
[supersetUp];
//Putsetupcodehere.Thismethodiscalledbeforetheinvocationofeachtestmethodintheclass.
}
-(void)tearDown
{
//Putteardowncodehere.Thismethodiscalledaftertheinvocationofeachtestmethodintheclass.
[supertearDown];
}
-(void)testExample
{
XCTFail(@"Noimplementationfor"%s""??__PRETTY_FUNCTION__);
}
@end

 

?????????????VVStackTests??XCTestCase????????XCTestCase????XCTest???????е??????????XCTest????в??????????????target?е?????XCTestCase????????????????test???????????????????????????????-testExample??????У??????????????Xcode???д?????XCTFail???????????????????????????????????????????????ν????????ж?????????????????????????????????????????漲????????????????????Fail?????????????????????????ò??????????????????????-setUp??-tearDown????????????????????????????????????????????????????????????á?????????????????д?????????????????????-testExample????????????????U?????в?????????????????????????????????κβ????????

??????????????????????????ɡ???????????????????????????????????????????????????????????????????????????VVStack????????棬?????????????Cocoa Touch?????NSObject????????????????????????????????TDD???????????д??????????????????????????????????????VVStack?????????????????????????????????????????????????д???????????????????#import "VVStack.h"???????VVStackTests.m??@end?????????′???

 

- (void)testStackExist {
XCTAssertNotNil([VVStack class]?? @"VVStack class should exist.");
}
- (void)testStackObjectCanBeCreated {
VVStack *stack = [VVStack new];
XCTAssertNotNil(stack?? @"VVStack object can be created.");
}

 

????????????????????????????????????????????????????????????????????VVStack?????????ò??????????????????????????VVStack????????Cocoa Touch??Objective-C class?????VVStack?????NSObject?????????????????????????????????target?У?