我正在尝试在CLion + Gtest系统(MacOS 10.14.4)中发送输入值,但是我得到了无限的“加载图标”,并且无法在“运行”窗口中键入任何内容。
我使用教程创建了测试。普通测试可以完美地工作,只有 std :: cin 拒绝工作。 std :: cin 可以在测试框架之外工作,只需打开一个基本项目并立即使用它即可。对于这个简单的示例,我仅使用一个文件“ test.cpp”,因此未导入其他文件。
#include <gtest/gtest.h>
#include <iostream>
using testing::Eq;
using namespace std;
namespace {
class basicTest : public testing::Test {
public:
basicTest() {
}
};
TEST_F(basicTest, test1) {
cout << "\nWrite a number here: " << endl;
int i;
cin >> i;
cout << "You wrote " << i << endl;
}
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
运行此操作会产生以下结果:
图标一直在旋转,但是我无处可写输入。在我的原始代码中,第一个cout甚至没有输出,因此直到我用停止按钮将其终止之前,它只是一个空白屏幕。
及早停止会产生“进程以退出代码137完成(被信号9:SIGKILL中断)”,但我认为这无关紧要。
我没有尝试使用调试模式,因为它与我的MacOS版本不兼容(这是我最终要解决的另一个问题)。