docs(testing): add comprehensive guide_testing.md

Comprehensive guide covering the 251-test-file suite:
- Test file layout and naming conventions
- 7 conftest.py fixtures (isolate_workspace, reset_paths, reset_ai_client, vlogger, kill_process_tree, mock_app, app_instance, live_gui) with their mechanisms
- 5 test categories (unit, integration, mock app, headless, opt-in)
- Markers (integration, clean_install, docker) and how to filter by them
- Hook API for integration tests (ApiHookClient methods, predefined_callbacks pattern)
- Common test patterns (pure function, mock, live_gui, exception, parametrized)
- Test configuration in pyproject.toml
- Running tests (all, by file, by marker, with timeout, etc.)
- Adding new tests (pure, integration, opt-in)
- Debugging failed tests (common failure modes and fixes)
- The check_test_toml_paths.py audit script
- Test data flow diagram
This commit is contained in:
ed
2026-06-02 23:05:02 -04:00
parent a280706ce4
commit 7825588200
3 changed files with 610 additions and 20 deletions
+19 -19
View File
@@ -44,20 +44,20 @@ Collapsed=0
DockId=0x00000010,0
[Window][Message]
Pos=166,28
Size=1514,1172
Pos=280,28
Size=1400,1172
Collapsed=0
DockId=0x00000006,0
[Window][Response]
Pos=0,28
Size=164,1172
Size=278,1172
Collapsed=0
DockId=0x00000010,4
[Window][Tool Calls]
Pos=166,28
Size=1514,1172
Pos=280,28
Size=1400,1172
Collapsed=0
DockId=0x00000006,3
@@ -77,7 +77,7 @@ DockId=0xAFC85805,2
[Window][Theme]
Pos=0,28
Size=164,1172
Size=278,1172
Collapsed=0
DockId=0x00000010,0
@@ -105,26 +105,26 @@ Collapsed=0
DockId=0x0000000D,0
[Window][Discussion Hub]
Pos=166,28
Size=1514,1172
Pos=280,28
Size=1400,1172
Collapsed=0
DockId=0x00000006,1
[Window][Operations Hub]
Pos=0,28
Size=164,1172
Size=278,1172
Collapsed=0
DockId=0x00000010,3
[Window][Files & Media]
Pos=0,28
Size=164,1172
Size=278,1172
Collapsed=0
DockId=0x00000010,2
[Window][AI Settings]
Pos=0,28
Size=164,1172
Size=278,1172
Collapsed=0
DockId=0x00000010,1
@@ -140,8 +140,8 @@ Collapsed=0
DockId=0x00000006,2
[Window][Log Management]
Pos=166,28
Size=1514,1172
Pos=280,28
Size=1400,1172
Collapsed=0
DockId=0x00000006,2
@@ -495,8 +495,8 @@ Size=1780,1669
Collapsed=0
[Window][Context Preview]
Pos=1360,28
Size=1561,1677
Pos=280,28
Size=1400,1172
Collapsed=0
DockId=0x00000006,4
@@ -690,7 +690,7 @@ Column 1 Width=30
[Table][0x9D36FCE8,2]
RefScale=20
Column 0 Width=659
Column 0 Width=742
Column 1 Weight=1.0000
[Docking][Data]
@@ -700,10 +700,10 @@ DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,28 Size=1680,1172 Split=X
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2357,1183 Split=X
DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2
DockNode ID=0x00000005 Parent=0x0000000B SizeRef=1208,1681 Split=Y Selected=0x3F1379AF
DockNode ID=0x00000010 Parent=0x00000005 SizeRef=983,1140 CentralNode=1 Selected=0x0D5A5273
DockNode ID=0x00000005 Parent=0x0000000B SizeRef=1144,1681 Split=Y Selected=0x3F1379AF
DockNode ID=0x00000010 Parent=0x00000005 SizeRef=983,1140 CentralNode=1 Selected=0x418C7449
DockNode ID=0x00000011 Parent=0x00000005 SizeRef=983,184 Selected=0x432BAE4E
DockNode ID=0x00000006 Parent=0x0000000B SizeRef=1514,1681 Selected=0x2C0206CE
DockNode ID=0x00000006 Parent=0x0000000B SizeRef=1400,1681 Selected=0x2C0206CE
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=488,1183 Selected=0x3AEC3498