2
我構建了一組XCTestCase方法來對我的核心數據模型執行代碼。我打算從其他測試方法中調用一些測試方法,以便我可以看到不同的數據組合,同時保持代碼最小。我無法想象爲什麼這不起作用,但我想知道世界在想什麼,以及這是否被認爲是好的做法。確定可以在XCTest的其他測試用例中調用測試用例
下面是它會是什麼樣子:
@interface sessionTests : XCTestCase
@property (strong) Model *model;
@end
- (void)setUp
{
[super setUp];
_model = [[Model alloc]init];
}
- (void) testValue1
{
_model.value = 1;
XCTAssertTrue(_model.value == 1, @"model.value is not 1");
}
- (void) testValue2
{
_model.value = 2;
XCTAssertTrue(_model.value == 2, @"model.value is not 2");
}
- (void) testStringHello
{
_model.str = @"Hello";
XCTAssertTrue([_model.str isEqualToString:@"Hello"], @"model.str is not Hello");
}
- (void) testHello1
{
[self testValue1];
[self testStringHello];
}
- (void) testHello2
{
[self testValue2];
[self testStringHello];
}
謝謝賈斯珀,偉大的視角。 –
自2013年以來,Xcode已經能夠運行單個測試。而且,單個測試仍應作爲一個單元運行,但可以在其他測試中用作常規方法。這實際上應該有助於查明失敗的原因。 –
有趣的觀點。當我開始TDD(使用鬆散的定義)時,我被教導測試不應該依賴於其他測試。到現在爲止還沒有重新討論過這個問題,但是這裏有一個很好的反觀點:http://stackoverflow.com/a/1781858/404201 –