Menu Docs
Página inicial do Docs
/ / /
Driver C++

Teste

Nesta página

  • Executando os testes existentes
  • Executando testes de integração
  • Escrevendo novos testes

Testes para o11 driver C++ usam Catch, uma estrutura de teste para C++.

Cada classe no driver tem um arquivo correspondente em src/mongocxx/test. Porque o novo driver envolve libmongoc, preferimos simular e testar o comportamento de classes individuais, em vez de testar o comportamento de ponta a ponta das operações em um mongod em execução. Em outras palavras, esses são testes de unidade e não testes de integração.

Também temos testes de integração para este driver em test/collection.cpp.

Construa os testes com:

make

Isso gerará binários de teste. Você pode executar todos os testes com:

make test

ou, para obter uma saída mais detalhada com Catch, execute o binário gerado:

./build/src/mongocxx/test/test_driver

ou você pode executar o comando ctest e usar as várias sinalizações do ctest. Por exemplo:

ctest -V

pode ser usado para executar os testes com saída detalhada, ou

ctest -R bson

poderia ser usado para executar somente os testes BSON .

Alguns dos testes exigem uma instância do mongod em execução. Para isso, primeiro baixe o servidorMongoDB .

Em seguida, implemente um mongod na porta padrão com o comando:

mongod --setParameter enableTestCommands=1

se estiver instalado, caso contrário, navegue até o diretório que contém o executável mongod e execute:

./mongod --setParameter enableTestCommands=1

seguindo qualquer comando com quaisquer sinalizações que você deseja usar, exceto --port. Enquanto o mongod estiver em execução, execute os testes normalmente.

Se você quiser adicionar um recurso ao driver, escreva um teste para ele também. As adições a classes existentes devem ter novas seções adicionadas aos casos de teste existentes:

TEST_CASE("existing_class", "[existing_class]") {
SECTION("Can do some new thing") {
...
REQUIRE(new_thing_works);
}
}

Se você estiver adicionando uma nova classe, adicione um novo arquivo de teste para ela no diretório test . O nome do arquivo de teste deve corresponder ao nome do arquivo da nova turma. Você precisará adicionar seu arquivo como fonte para o destino de teste do driver, em src/mongocxx/test/CMakeLists.txt:

set(mongocxx_test_sources
...
some_new_class.cpp
...
)

Voltar

atualização