Como testar corretamente métodos privados em Angular/TypeScript com Jasmine?
Olá a todos! Sou novo em Angular e TypeScript, e tive um problema ao escrever unit tests para métodos privados. Tenho um serviço que realiza cálculos complexos e movi parte da lógica para um método privado para melhor legibilidade. Aqui está um exemplo do meu código:
```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);
}
}
```
Quando tento escrever um teste para `filterInvalidItems` usando Jasmine, recebo um erro informando que o método é privado e não está acessível a partir do teste:
```typescript
describe('CalculationService', () => {
let service: CalculationService;
beforeEach(() => {
service = new CalculationService(