Se toda a lógica para conversar com a API remota e analisar os resultados estiver em C ++ como um plug-in de componente, você poderá usar o google-mock no Ubuntu, para criar testes unitários que simulam resultados e dados esperados. No entanto, se a API no servidor for alterada, seu código ainda poderá falhar, mesmo que os testes passem, já que você está testando apenas alguns resultados esperados conhecidos.
Outra opção é introduzir uma variável de ambiente em seu código, para que você possa apontar o URL base para um local diferente, como localhost: 12345 , e implementar um servidor HTTP simulado em Python ou outro idioma, que é executado em uma porta alta aleatória, na qual você pode apontar os testes. Isso torna a execução dos testes um pouco mais complicada, já que você precisa obter a porta aleatória do script do servidor e transmiti-la aos testes de alguma forma. Você pode executar esse teste em HTTP simples ou criar um certificado de CA e um certificado de servidor, incluídos no conjunto de testes, e adicionar uma maneira de garantir que a biblioteca de rede carregue a autoridade de certificação na cadeia de certificados para validar a conexão HTTPS local. No entanto, tudo isto é muito complicado e não lhe dá mais resultados úteis do que testes unitários mais simples com dados falsos.
Além disso, você só pode falar com um servidor real, com um certificado válido real. O ideal é que o serviço remoto forneça um servidor de teste / teste para executar esses testes e você pode introduzir uma variável de ambiente ou semelhante em seu código, para apontá-lo no servidor de teste / teste, em vez do servidor ativo.