我的應用程序中有一個UIbutton。當我點擊按鈕時,它將刪除NSMutableArray中的最後一個對象。爲此,我想寫單元測試。請任何一個給我你的建議。IOS中的單元測試
我用這個代碼,當其上執行的UIButton點擊瞭解:
[viewControllerObject.backButton1 sendActionsForControlEvents:UIControlEventTouchUpInside];
感謝, 瑞奇。
我的應用程序中有一個UIbutton。當我點擊按鈕時,它將刪除NSMutableArray中的最後一個對象。爲此,我想寫單元測試。請任何一個給我你的建議。IOS中的單元測試
我用這個代碼,當其上執行的UIButton點擊瞭解:
[viewControllerObject.backButton1 sendActionsForControlEvents:UIControlEventTouchUpInside];
感謝, 瑞奇。
XCode本機支持單元測試。如果您啓動一個新項目,請查找「包含單元測試」的複選標記。如果你使用它,你將會有一個名爲<project_name>Tests
的文件夾。在那裏打開.m文件,你會看到一個可以放置測試的- (void)testExample
方法。
您可以使用多種功能進行測試,如STAssertTrue
和STAssertNotNil
。看看這裏的蘋果文檔:https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/UnitTesting/03-Writing_Test_Case_Methods/writing_tests.html#//apple_ref/doc/uid/TP40002143-CH4-SW1
在你的情況,你也許可以做這樣的事情:
NSInteger arrayCount = mArray.count;
[yourInstance performButtonAction];
STAssertEquals(arrayCount -1, mArray.count);
如何從apptest.m向viewcontroller調用buttonAction。 – user1844142 2013-04-05 13:46:44
由於測試是獨立運行的,您可以在'setup'方法中創建viewController。這樣你就有了一個本地參考。 – 2013-04-05 14:25:57
在「單位」的水平還有你測試兩件事情:
忽略第一個,這是蘋果的問題(或者說它是一個集成測試)。第二個很簡單,如果你考慮組裝,行爲,斷言過程:
-(void)testRemovalOfLastObjectOnButtonAction
{
//... build and populate the view controller
id lastObject = [array lastObject];
[viewController buttonTapped: sender];
STAssertFalse([array containsObject: lastObject], @"Object %@ should be removed", lastObject);
}
注意我明確的最後一個對象是否刪除了測試,而不是數是否遞減:如果任何對象中刪除的可能發生。
嗨OMZ,我得到測試失敗,當我執行上述code.it正確與否? – user1844142 2013-04-05 13:31:58
@ user1844142什麼具體是失敗?如果斷言失敗,那麼你的代碼不會從數組中移除對象。 – 2013-04-05 13:55:27
wt你想要?你想創建按鈕的最後一個OBJ數組的方法 – iPatel 2013-04-05 09:06:14
我正在使用單元測試,所以如何檢查這個按鈕是點擊使用像XCTAssertTrue等 – 2014-07-07 06:31:53