Clion: Gtest TEST_F не работает с std :: cin - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь отправить входное значение в системе 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 (это еще одна проблема, которую я в конечном итоге исправлю).

...