Avatar ·

如何正确使用Jasmine测试Angular/TypeScript中的私有方法

大家好!我是Angular和TypeScript的新手,在编写私有方法的单元测试时遇到了问题。我有一个服务,它执行复杂的计算,为了提高可读性,我将部分逻辑提取到了私有方法中。以下是我的代码示例: ```typescript import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class CalculationService { public calculateTotal(items: number[]): number { const filtered = this.filterInvalidItems(items); return filtered.reduce((sum, item) => sum + item, 0); } private filterInvalidItems(items: number[]): number[] { return items.filter(item => item > 0 && item < 1000); } } ``` 当我尝试使用Jasmine为`filterInvalidItems`编写测试时,我收到错误,提示该方法是私有的,无法从测试中访问: ```typescript describe('CalculationService', () => { let service: CalculationService; beforeEach(() => { service = new CalculationService(