我已經創建了一個新的Xcode 4.2 Cocoa項目,一個可可庫。 默認情況下,單元測試提供了下列單元測試:Xcode 4.2,無法運行單元測試
- (void)testExample
{
STFail(@"Unit tests are not implemented yet in learning01Tests");
}
如果我按⌘U我可以看到測試建築和失敗的預期。 現在,我添加新的下面幾行,以測試我創建了一個外部類:
#import "svc01.h"
- (void)testMyClass
{
svc01* svc = [[svc01 alloc]init];
int expected = [svc addTwoNumbers:10 :10];
STAssertTrue(21 == expected, @"It should fail!");
}
我可以看到這兩個測試(默認設置,我的方法)未如預期。 問題是,有時候,即使我按命令Test,它彈出消息「生成成功」,然後「測試成功」,但如果我看輸出控制檯它說「測試運行0」
Is there我在做什麼不對?
UPDATE
現在我已經改變了我的測試方法的簽名和它不工作了。 我有這樣的:
#import <SenTestingKit/SenTestingKit.h>
@interface learning01Tests : SenTestCase
- (void)sumTwoIntegerShouldPass;
- (void)sumTwoZeroShouldThrow;
@end
- (void)sumTwoIntegerShouldPass
{
svc01* svc = [[svc01 alloc]init];
int expected = [svc addTwoNumbers:10 :10];
STAssertTrue(20 == expected, @"It should fail!");
}
- (void)sumTwoZeroShouldThrow
{
svc01* svc = [[svc01 alloc]init];
int expected = [svc addTwoNumbers:0 :0];
STAssertTrue(21 == expected, @"It should fail!");
}
這是Xcode輸出:
-bfxnldmmxzsspnbglmrpwsnweqkd/Build/Products/Debug/learning01Tests.octest(Tests)' started at 2011-12-26 14:45:26 +0000
Test Suite 'learning01Tests' started at 2011-12-26 14:45:26 +0000
Test Suite 'learning01Tests' finished at 2011-12-26 14:45:26 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.000) seconds
Test Suite '/Users/raffaeu/Library/Developer/Xcode/DerivedData/learning01-bfxnldmmxzsspnbglmrpwsnweqkd/Build/Products/Debug/learning01Tests.octest(Tests)' finished at 2011-12-26 14:45:26 +0000.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.002) seconds
我很抱歉,但這個解決方案行不通,請參閱我的更新 – Raffaeu 2011-12-26 14:48:32