Я строю свой проект с помощью CMake и использую CTest (Fraemwork - Catch2) для построения тестовых зависимостей. В некоторых тестах мне нужно проверить поведение KeyPress в режиме реального времени (без REQUIERE (..)):
TEST_CASE("Test func"){
while(!sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){
for(int key = sf::Keyboard::Key::A; key <= sf::Keyboard::Key::Z; key++){
if(sf::Keyboard::isKeyPressed(static_cast<sf::Keyboard::Key>(key)))
std::cout << key << '\n';
std::cout << key << '\n';
}
}
}
Я создал зависимость от CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
project (Tests)
add_executable(action_test Action/Action_test.cpp)
target_link_libraries(action_test sfml-graphics sfml-window sfml-system action)
enable_testing()
add_test(NAME Action_test COMMAND action_test)
После сборки я начал тестирование:
$ctest -V
Но это дало мне очень низкую скорость вывода, но если я запускаю тестирование непосредственно из бинарной папки (без CTest), скорость вывода велика!