Xcode iOS测试套件中缺少NSLog输出

11

我正在使用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

所有的日志语句都应该出现在调试区域。你能发一个测试用例的例子吗? - JAL
@JAL 调试区在哪里? - user1165560
1
调试区是 Xcode 中的下方视图,它显示了当您触发断点时的控制台和作用域内的变量。请确保通过单击位于 Xcode 右上角底部的带有蓝色矩形的正方形按钮打开此视图。 - JAL
现在我可以在所有输出中看到输出了...不知道之前发生了什么....谢谢。 - user1165560
我已经在下面添加了我的答案。如果有帮助到您,请随意将其标记为已接受。 - JAL
3个回答

8

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

编辑:为什么会被点踩?我的日志语句都显示在调试区域中。

测试:

- (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
确保正确处理异步操作,否则完成块中的任何 NSLog 都不会输出。 - Greg
1
OP正在寻找他的应用程序中的NSLog()语句,而不是测试代码。这通常是在运行调试时看到的,而不是测试。 - Jeff

5

测试中的日志输出不会显示在控制台上。

如果你想查看日志,可以在构建输出中找到它们。


应用程序代码中的NSLog()输出不在那里。 - Jeff

3

如果你想在测试中将消息或字符串打印到输出控制台,请使用printf而不是NSLog

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接