Skip to main content

sqlitecpp-testing-practices

GoogleTest patterns and testing practices for SQLiteCpp test coverage and structure.

来源信息

仓库
SRombauts/SQLiteCpp
最近来源活动
2026年5月19日 21:46
检测到的 SKILL.md 语言
英语
星标
2,789
分支
575

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
sqlitecpp-testing-practices
description
GoogleTest patterns and testing practices for SQLiteCpp test coverage and structure.
# SQLiteCpp Testing Practices ## Scope - Uses GoogleTest (system if found, otherwise `googletest/` fallback). - Test files live in `tests/*_test.cpp` (see `tests/Database_test.cpp`). - File headers use `@ingroup tests`. ## Test File Structure ```cpp #include <gtest/gtest.h> #include <SQLiteCpp/Database.h> TEST(DatabaseTest, CanOpenReadWriteDatabase) { // Arrange: setup test database SQLite::Database db(":memory:", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE); // Act: perform operation db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY)"); // Assert: verify behavior EXPECT_EQ(1, db.exec("INSERT INTO test DEFAULT VALUES")); } ``` ## Adding a New Test File - Create `tests/NewClass_test.cpp`. - Register it in `CMakeLists.txt` under `SQLITECPP_TESTS`. - Register it in `meson.build` under `sqlitecpp_test_srcs`. ## Common Patterns - Prefer `:memory:` databases when possible. - Use file-based databases when testing file I/O behavior (see `tests/Database_test.cpp`). - Use `TEST()` for independent tests; use `TEST_F()` only when a shared fixture is needed. ## Running Tests ```bash # CMake (from build dir) ctest --output-on-failure bin/SQLiteCpp_tests --gtest_filter=Database.* # Meson meson test -C builddir meson test -C builddir --test-args="--gtest_filter=Database.*" ``` ## Canonical References - Test style: `tests/Database_test.cpp` - CMake test list: `CMakeLists.txt` (`SQLITECPP_TESTS`) - Meson test list: `meson.build` (`sqlitecpp_test_srcs`) ## Cross-References - Workflow checklist: `sqlitecpp-workflow` - Build configuration: `sqlitecpp-build-cmake`, `sqlitecpp-build-meson`
在 GitHub 查看