Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ios
/
yh_analytics
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
周蓉君
10 years ago
Commit
e70f7e70d82d7f4a22bd8209ac1b6c920ea26423
1 parent
554b9631
补充YHAssemblyAssistant的测试用例,完善代码细节。Review by 阿瑟。
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
182 additions
and
26 deletions
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHAssemblyAssistant.m
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHNetworkAssistant.h
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHNetworkAssistant.m
YH_Analytics/YH_Analytics/YH_Analytics/YH_Analytics.m
YH_Analytics/YH_AnalyticsTests/YHAssemblyAssistantLogicTests.m
YH_Analytics/YH_AnalyticsTests/YHAssemblyAssistantTests.m
YH_Analytics/YH_AnalyticsTests/YH_AnalyticsLogicTests.m
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHAssemblyAssistant.m
View file @
e70f7e7
...
...
@@ -132,6 +132,16 @@ static dispatch_queue_t persisting_queue() {
return
self
;
}
-
(
void
)
dealloc
{
[
self
.
locationManager
stopUpdatingLocation
];
self
.
locationManager
.
delegate
=
nil
;
self
.
locationManager
=
nil
;
self
.
fileManager
=
nil
;
self
.
device
=
nil
;
self
.
currentStatus
=
nil
;
self
.
immediUploadItemDic
=
nil
;
}
#pragma mark - Property
-
(
NSFileManager
*
)
fileManager
...
...
@@ -275,7 +285,7 @@ static dispatch_queue_t persisting_queue() {
if
(
event
)
{
[
self
.
immediUploadItemDic
setObject
:[[
NSMutableArray
alloc
]
initWithObjects
:
event
.
jsonDictionary
,
nil
]
forKey
:
JsonKeyDataTypeEvents
];
[[
YHNetworkAssistant
sharedInstance
]
postW
hit
API
:
kYASApiMethod
parameters
:
self
.
immediUploadItemDic
from
:
self
success
:
^
(
id
responseObject
)
{
[[
YHNetworkAssistant
sharedInstance
]
postW
ith
API
:
kYASApiMethod
parameters
:
self
.
immediUploadItemDic
from
:
self
success
:
^
(
id
responseObject
)
{
}
failure
:
^
(
NSError
*
error
)
{
NSLog
(
@"error = %@"
,
error
.
localizedDescription
)
;
...
...
@@ -286,7 +296,7 @@ static dispatch_queue_t persisting_queue() {
if
(
error
)
{
[
self
.
immediUploadItemDic
setObject
:[[
NSMutableArray
alloc
]
initWithObjects
:
error
.
jsonDictionary
,
nil
]
forKey
:
JsonKeyDataTypeErrors
];
[[
YHNetworkAssistant
sharedInstance
]
postW
hit
API
:
kYASApiMethod
parameters
:
self
.
immediUploadItemDic
from
:
self
success
:
^
(
id
responseObject
)
{
[[
YHNetworkAssistant
sharedInstance
]
postW
ith
API
:
kYASApiMethod
parameters
:
self
.
immediUploadItemDic
from
:
self
success
:
^
(
id
responseObject
)
{
}
failure
:
^
(
NSError
*
error
)
{
NSLog
(
@"error = %@"
,
error
.
localizedDescription
)
;
...
...
@@ -307,7 +317,7 @@ static dispatch_queue_t persisting_queue() {
if
(
uploadData
)
{
[[
YHNetworkAssistant
sharedInstance
]
postW
hit
API
:
kYASApiMethod
parameters
:
uploadData
from
:
self
success
:
^
(
id
responseObject
)
{
[[
YHNetworkAssistant
sharedInstance
]
postW
ith
API
:
kYASApiMethod
parameters
:
uploadData
from
:
self
success
:
^
(
id
responseObject
)
{
[
self
removeLocalFile
]
;
}
failure
:
^
(
NSError
*
error
)
{
...
...
@@ -385,6 +395,7 @@ static dispatch_queue_t persisting_queue() {
//不能定位用户的位置
//1.提醒用户检查当前的网络状况
//2.提醒用户打开定位开关
NSLog
(
@"请检查网络状况,打开定位开关。"
);
}
}
...
...
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHNetworkAssistant.h
View file @
e70f7e7
...
...
@@ -94,7 +94,7 @@ static NSString * const YHEAPIErrorDomain = @"YHEAPIErrorDomain";
* @param success A block object to be executed when the request operation finishes successfully
* @param failure A block object to be executed when the request operation finishes unsuccessfully
*/
-
(
void
)
postW
hit
API
:(
NSString
*
)
api
parameters
:(
NSDictionary
*
)
parameters
from
:(
id
)
requester
success
:(
void
(
^
)(
id
responseObject
))
success
failure
:(
void
(
^
)(
NSError
*
error
))
failure
;
-
(
void
)
postW
ith
API
:(
NSString
*
)
api
parameters
:(
NSDictionary
*
)
parameters
from
:(
id
)
requester
success
:(
void
(
^
)(
id
responseObject
))
success
failure
:(
void
(
^
)(
NSError
*
error
))
failure
;
/**
* using the `POST`
...
...
@@ -106,7 +106,7 @@ static NSString * const YHEAPIErrorDomain = @"YHEAPIErrorDomain";
* @param success A block object to be executed when the request operation finishes successfully
* @param failure A block object to be executed when the request operation finishes unsuccessfully
*/
-
(
void
)
postW
hit
API
:(
NSString
*
)
api
parameters
:(
NSDictionary
*
)
parameters
files
:(
NSDictionary
*
)
files
from
:(
id
)
requester
success
:(
void
(
^
)(
id
responseObject
))
success
failure
:(
void
(
^
)(
NSError
*
error
))
failure
;
-
(
void
)
postW
ith
API
:(
NSString
*
)
api
parameters
:(
NSDictionary
*
)
parameters
files
:(
NSDictionary
*
)
files
from
:(
id
)
requester
success
:(
void
(
^
)(
id
responseObject
))
success
failure
:(
void
(
^
)(
NSError
*
error
))
failure
;
#pragma mark - Network Reachability
...
...
YH_Analytics/YH_Analytics/YH_Analytics/Utils/YHNetworkAssistant.m
View file @
e70f7e7
...
...
@@ -203,20 +203,20 @@ static dispatch_queue_t network_assistant_queue() {
#pragma mark - `POST`
-
(
void
)
postW
hit
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
from
:
(
id
)
requester
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
-
(
void
)
postW
ith
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
from
:
(
id
)
requester
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
{
[
self
postW
hit
API
:
api
parameters
:
parameters
files
:
nil
from
:
requester
success
:
success
failure
:
failure
];
[
self
postW
ith
API
:
api
parameters
:
parameters
files
:
nil
from
:
requester
success
:
success
failure
:
failure
];
}
-
(
void
)
postW
hit
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
files
:
(
NSDictionary
*
)
files
from
:
(
id
)
requester
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
-
(
void
)
postW
ith
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
files
:
(
NSDictionary
*
)
files
from
:
(
id
)
requester
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
{
[
self
postW
hit
API
:
api
parameters
:
parameters
files
:
files
from
:
requester
progressBlock
:
nil
success
:
success
failure
:
failure
];
[
self
postW
ith
API
:
api
parameters
:
parameters
files
:
files
from
:
requester
progressBlock
:
nil
success
:
success
failure
:
failure
];
}
/**
* @param progressBlock 添加处理进度的回调
*/
-
(
void
)
postW
hit
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
files
:
(
NSDictionary
*
)
files
from
:
(
id
)
requester
progressBlock
:
(
void
(
^
)(
float
progress
))
progressBlock
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
-
(
void
)
postW
ith
API
:
(
NSString
*
)
api
parameters
:
(
NSDictionary
*
)
parameters
files
:
(
NSDictionary
*
)
files
from
:
(
id
)
requester
progressBlock
:
(
void
(
^
)(
float
progress
))
progressBlock
success
:
(
void
(
^
)(
id
responseObject
))
success
failure
:
(
void
(
^
)(
NSError
*
error
))
failure
{
NSError
*
error
=
nil
;
NSMutableDictionary
*
actualParameters
=
[
NSMutableDictionary
dictionaryWithDictionary
:
parameters
];
...
...
YH_Analytics/YH_Analytics/YH_Analytics/YH_Analytics.m
View file @
e70f7e7
...
...
@@ -105,6 +105,8 @@
self
.
timer
=
nil
;
}
[[
NSNotificationCenter
defaultCenter
]
removeObserver
:
self
];
self
.
event
=
nil
;
self
.
error
=
nil
;
}
#pragma mark - Properties
...
...
YH_Analytics/YH_AnalyticsTests/YHAssemblyAssistantLogicTests.m
View file @
e70f7e7
...
...
@@ -39,7 +39,8 @@
@interface
YHAssemblyAssistantLogicTests
:
XCTestCase
{
YHAssemblyAssistant
*
assembly
;
id
partialMock
;
id
mock
;
id
fileManageMock
;
id
networkMock
;
}
@end
...
...
@@ -56,30 +57,36 @@
assembly
.
eventFilePath
=
@"/AppData/Library/Caches/YHLogSystem"
;
assembly
.
eventFileName
=
@"/AppData/Library/Caches/YHLogSystem/LogSystem.plist"
;
mock
=
OCMClassMock
([
NSFileManager
class
]);
OCMStub
([
mock
defaultManager
]).
andReturn
(
mock
);
assembly
.
fileManager
=
mock
;
fileManageMock
=
OCMClassMock
([
NSFileManager
class
]);
OCMStub
([
fileManageMock
defaultManager
]).
andReturn
(
fileManageMock
);
assembly
.
fileManager
=
fileManageMock
;
partialMock
=
OCMPartialMock
(
assembly
);
networkMock
=
OCMClassMock
([
YHNetworkAssistant
class
]);
OCMStub
([
networkMock
sharedInstance
]).
andReturn
(
networkMock
);
}
-
(
void
)
tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
assembly
=
nil
;
mock
=
nil
;
fileManageMock
=
nil
;
networkMock
=
nil
;
[
super
tearDown
];
NSLog
(
@"%@ tearDown"
,
self
.
name
);
}
#pragma mark - 行为测试
#pragma mark -
-
(
void
)
testCanPersistingSuccess
{
NSLog
(
@"%@ start"
,
self
.
name
);
OCMExpect
([
mock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
NO
);
OCMExpect
([
mock
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
]).
andReturn
(
YES
);
OCMExpect
([
fileManageMock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
NO
);
OCMExpect
([
fileManageMock
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
]).
andReturn
(
YES
);
BOOL
isCanPersisting
=
[
assembly
canPersisting
];
OCMVerifyAll
(
m
ock
);
OCMVerifyAll
(
fileManageM
ock
);
XCTAssert
(
isCanPersisting
,
@"Data should be persisting when create directory success."
);
NSLog
(
@"%@ end"
,
self
.
name
);
...
...
@@ -88,12 +95,12 @@
-
(
void
)
testCanPersistingFailed
{
NSLog
(
@"%@ start"
,
self
.
name
);
OCMExpect
([
mock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
NO
);
OCMExpect
([
mock
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
]).
andReturn
(
NO
);
OCMExpect
([
fileManageMock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
NO
);
OCMExpect
([
fileManageMock
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
]).
andReturn
(
NO
);
BOOL
isCanPersisting
=
[
assembly
canPersisting
];
OCMVerifyAll
(
m
ock
);
OCMVerifyAll
(
fileManageM
ock
);
XCTAssertFalse
(
isCanPersisting
,
@"Data should not be persisting when create directory failed."
);
NSLog
(
@"%@ end"
,
self
.
name
);
...
...
@@ -102,17 +109,18 @@
-
(
void
)
testCanPersistingExist
{
NSLog
(
@"%@ start"
,
self
.
name
);
OCMExpect
([
mock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
YES
);
[[
mock
reject
]
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
];
OCMExpect
([
fileManageMock
fileExistsAtPath
:[
OCMArg
any
]]).
andReturn
(
YES
);
[[
fileManageMock
reject
]
createDirectoryAtPath
:[
OCMArg
any
]
withIntermediateDirectories
:
YES
attributes
:
nil
error
:
nil
];
BOOL
isCanPersisting
=
[
assembly
canPersisting
];
OCMVerifyAll
(
m
ock
);
OCMVerifyAll
(
fileManageM
ock
);
XCTAssert
(
isCanPersisting
,
@"Data should be persisting when directory exist."
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testGetAllEventCountInitValueEqualZero
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -121,6 +129,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testGetUploadDataSuccess
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -150,6 +159,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testPrepareImmediUploadDic
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -166,6 +176,49 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testPrepareImmediUploadDicWithNetworkReachabilityStatus
{
NSLog
(
@"%@ start"
,
self
.
name
);
OCMExpect
([
networkMock
addReachabilityChangedHandler
:[
OCMArg
any
]]);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
OCMVerifyAll
(
networkMock
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testPrepareImmediUploadDicWithLocationServiceSuccess
{
NSLog
(
@"%@ start"
,
self
.
name
);
id
locationManageMock
=
OCMClassMock
([
CLLocationManager
class
]);
assembly
.
locationManager
=
locationManageMock
;
OCMStub
(
ClassMethod
([
locationManageMock
locationServicesEnabled
])).
andReturn
(
YES
);
OCMExpect
([
locationManageMock
startUpdatingLocation
]);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
OCMVerifyAll
(
locationManageMock
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testPrepareImmediUploadDicWithLocationServiceFailed
{
NSLog
(
@"%@ start"
,
self
.
name
);
id
locationManageMock
=
OCMClassMock
([
CLLocationManager
class
]);
assembly
.
locationManager
=
locationManageMock
;
OCMStub
(
ClassMethod
([
locationManageMock
locationServicesEnabled
])).
andReturn
(
NO
);
[[
locationManageMock
reject
]
startUpdatingLocation
];
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
OCMVerifyAll
(
locationManageMock
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testUpdateImmediUploadDicFailed
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -190,6 +243,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testSaveItemDataWithInputNil
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -277,30 +331,116 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testUploadImmedilyWithInputNil
{
NSLog
(
@"%@ start"
,
self
.
name
);
XCTAssertThrows
([
assembly
uploadImmedilyWithEvent
:
nil
]);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithInvalidClass
{
NSLog
(
@"%@ start"
,
self
.
name
);
XCTAssertThrows
([
assembly
uploadImmedilyWithEvent
:
@"invalid"
]);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithEvent
{
NSLog
(
@"%@ start"
,
self
.
name
);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
YHEvent
*
data
=
[
YHEvent
new
];
data
.
op
=
@"testEvent"
;
OCMExpect
([
networkMock
postWithAPI
:[
OCMArg
any
]
parameters
:[
OCMArg
any
]
from
:
assembly
success
:[
OCMArg
any
]
failure
:[
OCMArg
any
]]);
[
assembly
uploadImmedilyWithEvent
:
data
];
OCMVerifyAll
(
networkMock
);
NSMutableArray
*
eventArray
=
(
NSMutableArray
*
)[
assembly
.
immediUploadItemDic
objectForKey
:
JsonKeyDataTypeEvents
];
YHEvent
*
saveData
=
(
YHEvent
*
)[
eventArray
firstObject
];
XCTAssertEqualObjects
(
data
.
jsonDictionary
,
saveData
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithError
{
NSLog
(
@"%@ start"
,
self
.
name
);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
YHError
*
data
=
[
YHError
new
];
OCMExpect
([
networkMock
postWithAPI
:[
OCMArg
any
]
parameters
:[
OCMArg
any
]
from
:
assembly
success
:[
OCMArg
any
]
failure
:[
OCMArg
any
]]);
[
assembly
uploadImmedilyWithEvent
:
data
];
OCMVerifyAll
(
networkMock
);
NSMutableArray
*
errorArray
=
(
NSMutableArray
*
)[
assembly
.
immediUploadItemDic
objectForKey
:
JsonKeyDataTypeErrors
];
YHError
*
saveData
=
(
YHError
*
)[
errorArray
firstObject
];
XCTAssertEqualObjects
(
data
.
jsonDictionary
,
saveData
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithDevice
{
NSLog
(
@"%@ start"
,
self
.
name
);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
YHDevice
*
data
=
[
YHDevice
new
];
XCTAssertThrows
([
assembly
uploadImmedilyWithEvent
:
data
]);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithStatus
{
NSLog
(
@"%@ start"
,
self
.
name
);
[
assembly
prepareImmediUploadDic
:
@"appId"
sessionId
:
@"sessionId"
];
YHStatus
*
data
=
[
YHStatus
new
];
XCTAssertThrows
([
assembly
uploadImmedilyWithEvent
:
data
]);
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testUploadDiskDataSuccess
{
NSLog
(
@"%@ start"
,
self
.
name
);
NSDictionary
*
uploadData
=
[
NSDictionary
dictionary
];
OCMExpect
([
partialMock
getUploadData
]).
andReturn
(
uploadData
);
OCMExpect
([
networkMock
postWithAPI
:[
OCMArg
any
]
parameters
:[
OCMArg
any
]
from
:
assembly
success
:[
OCMArg
any
]
failure
:[
OCMArg
any
]]);
[
assembly
uploadDiskData
];
OCMVerifyAll
(
partialMock
);
OCMVerifyAll
(
networkMock
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadDiskDataFailed
{
NSLog
(
@"%@ start"
,
self
.
name
);
OCMExpect
([
partialMock
getUploadData
]).
andReturn
(
nil
);
[[
networkMock
reject
]
postWithAPI
:[
OCMArg
any
]
parameters
:[
OCMArg
any
]
from
:
assembly
success
:[
OCMArg
any
]
failure
:[
OCMArg
any
]];
[
assembly
uploadDiskData
];
OCMVerifyAll
(
partialMock
);
OCMVerifyAll
(
networkMock
);
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testUpdateLocationSuccess
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
YH_Analytics/YH_AnalyticsTests/YHAssemblyAssistantTests.m
View file @
e70f7e7
...
...
@@ -137,7 +137,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
-
(
void
)
testUploadImmedilyWithEventMethodWithC
O
nstraint
{
-
(
void
)
testUploadImmedilyWithEventMethodWithC
o
nstraint
{
NSLog
(
@"%@ start"
,
self
.
name
);
YHAnalyItemData
*
data
=
[[
YHAnalyItemData
alloc
]
init
];
...
...
YH_Analytics/YH_AnalyticsTests/YH_AnalyticsLogicTests.m
View file @
e70f7e7
...
...
@@ -70,7 +70,7 @@
}
#pragma mark - 行为测试
#pragma mark -
-
(
void
)
testStartWithAppIdMethod
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -128,6 +128,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testLogEventMethodWithSpecailEvent
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -184,6 +185,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testLogErrorMethodWithSpecailError
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
@@ -240,6 +242,7 @@
NSLog
(
@"%@ end"
,
self
.
name
);
}
#pragma mark -
-
(
void
)
testUpdateLogStrategyMethodWithAppLaunch
{
NSLog
(
@"%@ start"
,
self
.
name
);
...
...
Please
register
or
login
to post a comment