如何在 Objective-C 中测试标准输入函数?

How to test stdin function in Objective-C?

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

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

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