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
|
Я просто не представляю что еще можно тестировать?
|
ты когда работу сделаешь, открываешь браузер и смотришь на результат - что ты делаешь?
тестируешь. в автоматизированном тестировании ты перекладываешь работу по тестированию с себя на комп.
трудно сказать, что можно тестировать - легче сказать, что нельзя тестировать))
мне трудно представить, как тестировать внешний вид (интерфейс) сайта. вот наверное его и нельзя.