??????е? All ??????????????Failed ??????????????????????GHUnit????????? GHUnitSampleTest ????μ????????磺
- (void)testSimpleFail
{
GHAssertTrue(NO?? nil);
}
????????????? Tests ??????????????????????? GHTestCase???????е????????????????????????????????? test ??????ɡ?
????OCMock
????????????????? OCMock??
????1??????????????????????? OCMock???? GHUnitTest ??????? Libraries ???????????? Tests ?????????????????????????????????????
???????????????? libOCMock.a ??framework ?????OCMock framework ?????????? ocmock-1.77.dmg?????????е?‘Release/Library/Headers/OCMock’ ???? Libraries ????????????£?

????2???? GHUnitTest ???????????? Libraries ?? group??????libOCMock.a ???? OCMock????? target ?? Tests??

????3?????? Tests ?? Build Setting???? Libray Search Paths ???? $(SRCROOT)/Libraries??

?????? Header Search Paths ?????? $(SRCROOT)/Libraries??????? Recursive ????

????4????д OCMock ??????? Tests ???????????? OCMockSampleTest ?? Objective C class???????????£?
OCMockSampleTest.h
#import <GHUnitIOS/GHUnit.h>
@interface OCMockSampleTest : GHTestCase
@end
OCMockSampleTest.m
#import "OCMockSampleTest.h"
#import <OCMock/OCMock.h>
@implementation OCMockSampleTest
// simple test to ensure building?? linking??
// and running test case works in the project
- (void)testOCMockPass
{
id mock = [OCMockObject mockForClass:NSString.class];
[[[mock stub] andReturn:@"mocktest"] lowercaseString];
NSString *returnValue = [mock lowercaseString];
GHAssertEqualObjects(@"mocktest"?? returnValue??
@"Should have returned the expected string.");
}
- (void)testOCMockFail
{
id mock = [OCMockObject mockForClass:NSString.class];
[[[mock stub] andReturn:@"mocktest"] lowercaseString];
NSString *returnValue = [mock lowercaseString];
GHAssertEqualObjects(@"thisIsTheWrongValueToCheck"??
returnValue?? @"Should have returned the expected string.");
}
@end