【问题标题】:How to test stdin function in Objective-C?如何在 Objective-C 中测试标准输入功能?
【发布时间】:2019-09-12 16:35:03
【问题描述】:

我有一个 readline 函数,它等待来自标准输入的输入。当我在 XCTest 中运行该函数时,它会显示一个提示并等待输入。如何传递输入字符串以便readline 可以在XCTest 情况下从stdin 读取它?

char *input = readline(prompt);
XCTAssertEqualObjects(input, [@"hello" UTF8String]);   // ?

【问题讨论】:

  • 更改readline 以获取文件句柄,并在测试期间将句柄传递给包含hello 的文件。生产调用者将传递stdin

标签: objective-c macos xctest


【解决方案1】:

我创建了一个MockStdIOService 类,其中包含- (NSString *)readString; 方法,该方法将读入变量input。我设置了input 变量并调用了这个方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多