From df0a7dc37adc74360e976ec859cea97f860bf386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E9=93=AD=E8=BD=A9?= Date: Mon, 12 Oct 2026 12:34:50 +0800 Subject: [PATCH] test: cover result card evidence disclosure --- .../test-result-card.component.spec.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 apps/showcase_ui/src/app/components/test-result-badge/test-result-card.component.spec.ts diff --git a/apps/showcase_ui/src/app/components/test-result-badge/test-result-card.component.spec.ts b/apps/showcase_ui/src/app/components/test-result-badge/test-result-card.component.spec.ts new file mode 100644 index 0000000..3fff247 --- /dev/null +++ b/apps/showcase_ui/src/app/components/test-result-badge/test-result-card.component.spec.ts @@ -0,0 +1,19 @@ +import { TestBed } from '@angular/core/testing'; +import { TestResultCardComponent } from './test-result-card.component'; + +describe('用例测试结果卡片', () => { + it('显式展示不通过及原因,允许展开证据', () => { + const fixture = TestBed.createComponent(TestResultCardComponent); + fixture.componentRef.setInput('result', {status: 'failed', reason: '预期英文,实际为中文。', evidence: ['截图显示搜索设置']}); + fixture.detectChanges(); + const view: HTMLElement = fixture.nativeElement; + expect(view.querySelector('[aria-label="用例测试结果"]')).not.toBeNull(); + expect(view.querySelector('.prominent')?.textContent).toContain('测试不通过'); + expect(view.querySelector('.reason')?.textContent).toContain('预期英文,实际为中文。'); + const details = view.querySelector('details')!; + expect(details.open).toBeFalse(); + details.querySelector('summary')!.click(); + expect(details.open).toBeTrue(); + expect(details.textContent).toContain('截图显示搜索设置'); + }); +});