단위 테스트와 함께 Visual Studio를 사용하고 있습니다. 테스트중인 프로젝트 안에 디렉터리가있는 테스트 프로젝트를 만들었습니다.VS 장치 테스트에서 데이터베이스 (sqlite3)를 열 수 없습니다.
데이터베이스 파일을 열고 데이터베이스 내용을 기반으로 클래스 개체를 만드는 함수를 "단위 테스트"하려고합니다. 함수 자체가 실제로 정상적으로 작동합니다.
bool import_materials_from_db(const char *db_name){
sqlite3 *db;
int rc = sqlite3_open_v2(db_name, &db, 2, NULL);
if (rc != SQLITE_OK) {
std::cout << "The database \"" << db_name << "\" was not found.\n";
return false;
}
}
필자는이 기능을 크게 축소했습니다.이 기능이 실패한 부분입니다. RC는 오류 코드 SQLITE_CANTOPEN (14)을 나타냅니다. 함수에 전달 된 다른 것은 std :: vector <> 내 클래스를 포함하고 있습니다. 특히 중요하다고 생각하지 마십시오.
나는 기능과 같이 호출이 주요 응용 프로그램 내에서 잘 작동하지만, 최대한 빨리 내 단위 테스트에서 그것을 시도로
import_materials_from_db("materials.db");
:
import_materials_from_db("test_database.db");
나는 운이 없다.
프로젝트 디렉토리 :
Advanced_Task_1\
단위 테스트 디렉토리 :
Advanced_Task_1\UnitTest1\
나는 단지의 경우 각 디렉토리에 데이터베이스 파일을 배치 노력했다. ".. \ test_database.db"등을 전달하려고 시도했습니다. 마지막으로 언급 할 가치가있는 것은 이것이 올바른 파일 이름이고 확신 할 수있는 데이터베이스 내부의 정보입니다. 아직도 운이 없다.
정확히 내가 잘못하고있는 것에 대한 아이디어가 있습니까? 프로젝트 설정에서 ".. \"처럼 위의 디렉토리를 보았습니다.하지만 그 중 하나도 마음에 들지 않았습니다.