Docs Menu
Docs Home
/ / /
C++ 드라이버

테스트

이 페이지의 내용

  • 기존 테스트 실행
  • 통합 테스트 실행
  • 새 테스트 작성

C++ 운전자 에 대한 테스트는 C++ 용 테스트 프레임워크 인11 Catch 를 사용합니다.

운전자 의 각 클래스에는 src/mongocxx/test 에 해당 파일 이 있습니다. 새 운전자 가 libmongoc를 래핑하기 때문에 , 실행 mongod 에 대해 작업의 엔드 투 엔드 동작을 테스트하는 것보다 개별 클래스의 동작을 모방하고 테스트하는 것을 선호합니다. 즉, 이는 통합 테스트가 아닌 단위 테스트입니다.

또한 test/collection.cpp 에서 이 드라이버에 대한 통합 테스트를 진행하고 있습니다.

다음을 사용하여 테스트를 빌드합니다.

make

그러면 테스트 바이너리가 생성됩니다. 다음을 사용하여 모든 테스트를 실행할 수 있습니다.

make test

또는 Catch를 사용하여 더 자세한 출력을 얻으려면 생성된 바이너리를 실행합니다.

./build/src/mongocxx/test/test_driver

또는 ctest 명령을 실행하여 ctest의 다양한 플래그를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

ctest -V

자세한 출력으로 테스트를 실행하는 데 사용할 수 있습니다.

ctest -R bson

BSON 테스트만 실행하는 데 사용할 수 있습니다.

일부 테스트에는 실행 mongod 인스턴스 가 필요합니다. 이를 위해 먼저 MongoDB 서버를 다운로드 합니다.

그런 다음 명령을 사용하여 기본 포트에 mongod를 배포합니다.

mongod --setParameter enableTestCommands=1

설치된 경우, 그렇지 않으면 mongod 실행 파일이 있는 디렉토리로 이동하여 다음을 실행합니다.

./mongod --setParameter enableTestCommands=1

--port 을(를) 제외하고 사용하려는 플래그와 함께 명령 중 하나를 따릅니다. mongod가 실행되는 동안 정상적으로 테스트를 실행합니다.

드라이버에 기능을 추가하려면 해당 기능에 대한 테스트도 작성하세요. 기존 클래스에 추가하려면 기존 테스트 사례에 새 섹션을 추가해야 합니다.

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

새 클래스를 추가하는 경우 해당 클래스에 대한 새 테스트 파일을 test 디렉토리에 추가하세요. 테스트 파일의 이름은 새 클래스의 파일 이름과 일치해야 합니다. src/mongocxx/test/CMakeLists.txt 에 파일을 드라이버 테스트 대상의 소스로 추가해야 합니다.

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

돌아가기

업그레이드