Xcode iOS testsuite缺少NSLog输出

时间:2014-11-05 23:04:32

标签: ios xcode unit-testing output

我正在使用Xcode 6开发iOS应用程序,并尝试在Xcode中运行测试套件。我可以运行测试,但我不知道我的NSLog语句输出的位置。它们不在输出面板中。

如何找到输出?

@interface ISTest : XCTestCase
@end

@implement ISTest
- (void) setUp {
    [super setUp];
}

- (void) tearDown {
    [super tearDown];
}

- (void) testExample {
    NSLog(@"Where does this go???");
}

- (void) testPerformanceExample {
    [self measureBlock^{
    }];
}
@end

3 个答案:

答案 0 :(得分:8)

在Xcode的调试区域(下部视图)中检查控制台。要打开此视图,请单击Xco​​de右上角底部带有蓝色矩形的方形按钮。

编辑:为什么选择downvote?日志语句出现在调试区域中。

测试:

- (void)testLoginViewControllerViewExists {
    NSLog(@"Testing Login View Controller");
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Login" bundle:nil];
    CSLoginViewController *loginVC = [storyboard instantiateViewControllerWithIdentifier:
                                      @"loginVC"];
    XCTAssertNotNil([loginVC view], @"loginVC should contain a view");
}

输出:

Test Case '-[AppTests testLoginViewControllerViewExists]' started.
2014-11-06 15:52:00.175 App[14870:2071450] Testing Login View Controller
Test Case '-[AppTests testLoginViewControllerViewExists]' passed (0.001 seconds).

答案 1 :(得分:5)

测试中的日志输出不会进入控制台。

如果要查看日志,则它们位于构建输出中。

答案 2 :(得分:0)

如果要在输出控制台上查看正在打印的测试中的消息或字符串,请使用printf而不是NSLog

示例:printf("%s", [yourNSString UTF8String]);