Показать сообщение отдельно
  #290 (permalink)  
Старый 05.08.2014, 16:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Octane, из коробки не может. решается плагином. хотя если расширить функционал алисов (добавить возможность передачи функции.. или строки регвыра для конструктора RegExp в качестве ключа, например.), то можно и сделать из коробки

например, стало бы так:

// module.exports.resolve.alias ...
{
'([^-])-page': 'pages/$1/$1.js'
}


alert(    'profile-page'.replace(new RegExp('([^-]+)-page'), 'pages/$1/$1.js'  )); // pages/profile/profile.js


годная фишка, спасибо, Octane. возьму на заметку.

Сообщение от Octane
Какой еще сборщик модулей так может?
зачем так вообще делать ?
var ProfilePage = require('profile-page')

абстракция от файловой структуры проекта, конечно, хорошая, но не пойму, почему логика идёт от частного (profile) к общему (page)


Сообщение от cyber Посмотреть сообщение
melky, я прочитал обе статьи и по читал те тесты на которые ты дал ссылку и пока вижу только 2 ошибки:
1. не правильно подписанные названия для тестов
2. плохо разбитые на группы ( т.е с помощью describe )
А что не так в самих тестах?
угумс.

но jasmine - BDD, значит нужно следовать принципам BDD:
it ( "Show window", function ( ) {

        expect ( modal.show () )
            .toBe ( true );
    } );

    it ( "Hide window", function ( ) {

        expect ( modal.hide () )
            .toBe ( true );
    } );

как ты проверил, что модальное окно скрыто \ показано ? уверен ли ты в том, что эти оба метода работают верно ?

по BDD:
Попробуй удалить класс модального окна и оставить только тесты. Они начнут проваливаться (перестанут проходить). Попробуй написать класс модального окна, чтобы все тесты начали проходить. Скорее всего, в методах hide и show будет такой код:
Modal.prototype.show = Modal.prototype.hide = function () { return true };


так вот, тесты должны отражать спецификацию - написал код - все тесты проходятся - окей, забиваешь на код гвоздь и идёшь дальше.
и не волнуешься о том, что что-то мог забыть - если ты что-то забыл, некоторые тесты должны проваливаться.

с багами\фичами так же - пишешь сначала тест, потом код. тесты проходятся - ништяк, всё готово.

понимаешь примерно, что делают тесты и какие они должны быть (в BDD)?

хм, вообще пример с модальным окном плохой для тестирования. легче протестировать какое-нибудь математическое уравнение прямой (т.е. функцию), или факториал - то, что попроще.



картинка относится к TDD , но вполне отражает суть.

разница между TDD и BDD в том, какие сами тесты (синтаксис) и что они тестируют

Сообщение от cyber Посмотреть сообщение
Я просто не представляю что еще можно тестировать?
ты когда работу сделаешь, открываешь браузер и смотришь на результат - что ты делаешь? тестируешь. в автоматизированном тестировании ты перекладываешь работу по тестированию с себя на комп.

трудно сказать, что можно тестировать - легче сказать, что нельзя тестировать))

мне трудно представить, как тестировать внешний вид (интерфейс) сайта. вот наверное его и нельзя.

Последний раз редактировалось melky, 05.08.2014 в 16:53.
Ответить с цитированием