При попытке использовать XCTest для тестирования моего приложения, я получаю ошибку сборки при выполнении следующих действий:
#import <XCTest/XCTest.h>
@interface MyTests : XCTestCase
@end
@implementation MyTests
- (void)testExample
{
NSString *str = @"foo";
XCTAssertTrue(YES, str); // Parse issue: Expected ')'
}
@end
но я не получаю ошибку сборки, если я это делаю:
#import <XCTest/XCTest.h>
@interface MyTests : XCTestCase
@end
@implementation MyTests
- (void)testExample
{
XCTAssertTrue(YES, @"foo"); // this is just fine...
}
@end
Ошибка сборки, которую я получаю:
Parse issue: Expected ')'
и он помещает стрелку под "s" в "str".
Я обнаружил, что могу исправить это, изменив
XCTAssertTrue(YES, str)
к
XCTAssertTrue(YES, @"%@", str)
но я просто не могу понять, почему это имеет значение. Может кто-нибудь объяснить, почему это так?