私はユニットテストで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"などを渡そうとしました。 最後に、これが正しいファイル名であると確信しています。読み込むデータベース内に情報があると確信しています。まだ運がありません。
私が間違っていることについてのアイデアはありますか?私はプロジェクト設定 ".. \"のように "上のディレクトリを見てください"というトリックを試しましたが、どちらもそれが好きではありませんでした。