Źródło: Arkusze CKE
Przedstawione kody zawierają realizację funkcji oraz jeden zdefiniowany test automatyczny, który weryfikuje działanie funkcji w przypadku, gdy argumentem jest liczba ujemna. W miejsce kropek należy dodać drugi test, który sprawdzi funkcjonalność funkcji, kiedy argumentem jest liczba dodatnia. Który z poniższych kodów jest odpowiedni do tego testu?
export function fun1(number) {
if (number < 0)
number = number * (-1);
return number;
}
describe('fun1', () => {
it('test1', () => {
const result = fun1(-1);
expect(result).toBe(1);
})
...
})
it('test2', () => {
const result = fun1(1);
expect(result).toBe(result+1);
})
A.
it('test2', () => {
const result = fun1(2);
expect(result).toBe(-2);
})
B.
it('test2', () => {
const result = fun1(2);
expect(result).toBe(2);
})
C.
it('test2', () => {
const result = fun1(1);
expect(result).toBe(-1);
})
D.
Warianty odpowiedzi
-
A
Odpowiedź D
-
B
Odpowiedź B
-
C
Odpowiedź A
-
D
Odpowiedź C
Wyjaśnienie
Funkcja fun1 oblicza wartość bezwzględną liczby. Jeśli podamy jej liczbę ujemną, zwróci jej dodatni odpowiednik, a jeśli podamy liczbę dodatnią, zwróci ją bez zmian.
W drugim teście chcemy sprawdzić przypadek dla argumentu dodatniego, na przykład liczby 2. Wywołanie fun1(2) powinno zwrócić dokładnie 2.
W składni frameworka Jest zapisujemy to jako expect(result).toBe(2). Taki przypadek testowy znajduje się w Odpowiedzi C.