Вот есть некая вебстраничка, ее содержимое создает некий Джаваскрипт, который запускается при загрузке страницы
условно говоря, некая функция
function onStart() {
}
в этой функции есть конфигурационный обьект, var config
мы можем устанавливать ему обьекту разные свойства, и на основании которых отрисовка страницы будет делаться так или иначе
например, у обьекта есть параметр myFlag, который устанавливается, например, в "42".
то есть, у нас есть
function onStart() {
var config;
...
config.myFlag = "42";
....=
(отрисовка страницы)
...
}
Вам поручают такое задание - сделать так, чтобы это значение было не захардкодено, как сейчас, а бралось из локал сториджа, из некого специального ключа в локал сторидже, скажем, "myCoolFlag", а если он пустой, то использовать "42" по умолчанию.
Вы решаете задачу так
1. создаете функцию
function getMyFlag() {
return localStorage.getItem("myCoolFlag") || "42";
}
2. заменяете config.myFlag = 42; на config.myFlag = getMyFlag();
Вот и все решение, две строчки, буквально.
Далее, вам говорят - напиши юнит тесты для этой фичи.
Как бы вы их написали, эти тесты? И вообще, стали ли бы вы писать их? Спасибо за содержательные ответы.
условно говоря, некая функция
function onStart() {
}
в этой функции есть конфигурационный обьект, var config
мы можем устанавливать ему обьекту разные свойства, и на основании которых отрисовка страницы будет делаться так или иначе
например, у обьекта есть параметр myFlag, который устанавливается, например, в "42".
то есть, у нас есть
function onStart() {
var config;
...
config.myFlag = "42";
....=
(отрисовка страницы)
...
}
Вам поручают такое задание - сделать так, чтобы это значение было не захардкодено, как сейчас, а бралось из локал сториджа, из некого специального ключа в локал сторидже, скажем, "myCoolFlag", а если он пустой, то использовать "42" по умолчанию.
Вы решаете задачу так
1. создаете функцию
function getMyFlag() {
return localStorage.getItem("myCoolFlag") || "42";
}
2. заменяете config.myFlag = 42; на config.myFlag = getMyFlag();
Вот и все решение, две строчки, буквально.
Далее, вам говорят - напиши юнит тесты для этой фичи.
Как бы вы их написали, эти тесты? И вообще, стали ли бы вы писать их? Спасибо за содержательные ответы.