增加了数据库及测试程序
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(SQLiteDBTest)
|
||||
|
||||
# 设置 C++ 标准
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# 查找 SQLiteDB 项目库
|
||||
find_library(SQLiteDB_LIB NAMES SQLiteDB PATHS /home/zjk/project/H100/H100PowerManger/lib)
|
||||
if(NOT SQLiteDB_LIB)
|
||||
message(FATAL_ERROR "SQLiteDB library not found!")
|
||||
endif()
|
||||
|
||||
# 查找 Catch2 测试框架
|
||||
find_package(Catch2 REQUIRED)
|
||||
|
||||
# 添加测试可执行文件
|
||||
add_executable(SQLiteDBTest SQLiteDBTest.cpp)
|
||||
|
||||
# 链接库文件(注意顺序:先项目库后系统库)
|
||||
target_link_libraries(SQLiteDBTest
|
||||
${SQLiteDB_LIB} # 项目SQLiteDB库
|
||||
Catch2::Catch2WithMain # 测试框架
|
||||
sqlite3
|
||||
jsoncpp
|
||||
)
|
||||
@@ -0,0 +1,24 @@
|
||||
#include "catch2/catch.hpp"
|
||||
#include "../src/pPowerManger/SQLiteDB.h"
|
||||
|
||||
TEST_CASE("SQLiteDB Test", "[SQLiteDB]") {
|
||||
SQLiteDB db("test.db");
|
||||
|
||||
SECTION("Create Tables") {
|
||||
db.createTables();
|
||||
}
|
||||
|
||||
SECTION("Insert Data") {
|
||||
PowerData data = {0, "2025-02-10 14:09:00", 12.5, 2.5, 31.25, 25.0};
|
||||
db.insertStructData("power_data", data);
|
||||
}
|
||||
|
||||
SECTION("Query Data") {
|
||||
std::vector<PowerData> results = db.getPowerData();
|
||||
REQUIRE(results.size() == 1);
|
||||
REQUIRE(results[0].voltage == 12.5);
|
||||
REQUIRE(results[0].current == 2.5);
|
||||
REQUIRE(results[0].power == 31.25);
|
||||
REQUIRE(results[0].temperature == 25.0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user