come si prova un metodo in un dattiloscritto?

dimmi, come posso testare il metodo distanceCalculation ()? voglio controllare l’accuratezza del risultato nel test con valori specificati con precisione. come mettere alla prova i metodi del dattiloscritto? questo è un compito di prova e sto solo imparando.

class Car {
  amountOfFuel: number;
  fuelСonsumption: number;

    constructor(carAmountOfFuel: number,
      carFuelСonsumption: number) {
        this.amountOfFuel = carAmountOfFuel;
        this.fuelСonsumption = carFuelСonsumption;
      }

      distanceСalculation(): number {
        return (this.amountOfFuel / this.fuelСonsumption)*100;
    }
}

export class Bentley extends Car {
  }

export class Zhiguli extends Car {
  }

codice test

import { Bentley, Zhiguli } from './sum'

test("property check Bentley", () => {
  let car1 = new Bentley(90, 12);

  expect(car1).toHaveProperty('amountOfFuel',90);
  expect(car1).toHaveProperty('fuelСonsumption', 12);
});

test("property check Zhiguli", () => {
  let car2 = new Zhiguli(40, 10);

  expect(car2).toHaveProperty('amountOfFuel',40);
  expect(car2).toHaveProperty('fuelСonsumption', 10);
});

EN From: How do I test a method in a typescript?

More similar articles:

2 Comments

  1. se distanceCalculation dovrebbe essere accessibile da fuori della classe assicurarsi di segnarlo pubblico.

    è possibile chiamare e controllare il valore restituito dall’interno dei vostri test come questo:

    test("Bentley", () => {
      const car1 = new Bentley(90, 12);
    
      expect(car1).toHaveProperty('amountOfFuel',90);
      expect(car1).toHaveProperty('fuelСonsumption', 12);
    
      expect(car1.distanceСalculation()).toBe(750);
    });
    
    test("Zhiguli", () => {
      const car2 = new Zhiguli(40, 10);
    
      expect(car2).toHaveProperty('amountOfFuel',40);
      expect(car2).toHaveProperty('fuelСonsumption', 10);
    
      expect(car2.distanceСalculation()).toBe(400);
    });

Leave a Reply

Your email address will not be published. Required fields are marked *