Софтуерно Инженерство
Loading...
+ Нов въпрос
emilia98 avatar emilia98 91 Точки

Unit Testing - Exam Problems

Здравейте,

Решавам задачи от Unit Testing от минали изпити на JavaScript Advanced и явно някъде много бъркам, защото нищо не се получава. От няколко дена насам не успявам да ги докарам, затова имам нужда от няколко насоки (не от решения).

Link to Add/Swap/Shift Left/Shift Right

(JS Advanced 13 Nov 2016)

Link to Add/Delete In List

(JS Advanced 6 Nov 2016)

Това са двете решения, които се опитвам да нагодя, така че Judge-ът да ги хареса. Ще се радвам да чуя всякакви идеи (най-вече умни и приложими, разбира се).

Тагове:
0
JS Core
Jeliozver avatar Jeliozver 356 Точки

За първото сложи декларирането на променливата result в describе функцията преди beforeEach-a иначе judge няма как да знае за нея. Внимавай и да го пуснеш с правилната стратегия от падащото меню (в случая най-долната). С тези промени дава 64 точки. Вече трябва да помислиш кои тестове си изпуснала.

За втората имам някакъв спомен, че ако се ползва beforeeach гърмеше в judge.

2
13/04/2018 20:34:04
emilia98 avatar emilia98 91 Точки

Благодаря, колега!

Най-накрая открих проблема на втората задача - когато тествам локално, list-ът не се изпразва след всеки тест, а ако го пусна в Judge, всеки тест започва с празен масив. Ако в подаденото решение не е IIFE, а си е съвсем обикновена анонимна функция, няма да има подобен проблем и ще си тръгваме при всеки тест с празен масив.

0
IvayloIvanovV avatar IvayloIvanovV 83 Точки

Трябва да внимаваш за граничните случай, няма нужна да правиш 100 теста за едно и също нещо.


Трябва да предвидиш какво е изпуснал автора на дадения тест, например :
Имаш в условито index < 0, но в даден тест са написали index <= 0, твойте тестове трябва да са с index = -1 и index = 0, и съответно да връщат коректния резултат.


Една от уловките е и да проверяваш дали всичи неща са включени в даден тест. Съответно ако имаш в условието .add(), .remove(), .getElement() и други функции, трябва да провериш дали ги има в теста на автора. Това най-често става с .hasOwnProperty() или type of.

Дано да съм ти помогнал и успех! smiley

2
14/04/2018 00:33:35
emilia98 avatar emilia98 91 Точки

Благодаря, колега, определено ми помогна!

Наистина, тотално изключих за проверките дали даден метод съществува. 100-те теста ги направих, защото не знаех къде гърми, но вече разбрах защо се получават така нещата.

 

0