Является ли это частью спецификации?
blockquote>Нет. Как идентификаторы модулей (
'./reducers'
в вашем случае) разрешены фактическим модулям, остается реализация модуля loader / bundler, он не определен ES6. И это, похоже, не указывается в CommonJs .Это как раз то, как это делает узел - когда требуется каталог, будет использоваться файл
index.js
. Бандлеры, такие как , просматривают или webpack , следуют этому соглашению (по соображениям совместимости).
Считайте работу эффективно с унаследованным кодом растушевками.
У Jimmy Bogard есть хороший ряд блога на SOC.
Лучший способ модифицировать существующий проект без любых модульных тестов состоит в том, чтобы сделать это при исправлении ошибок. Запишите тест, который перестал работать по логике, которая имеет ошибку в нем с шагами для репродуцирования ошибки. Затем осуществите рефакторинг код до тестовой передачи. Теперь можно быть уверены, что ошибка исправлена, и она не будет представлена позже в цикле, и Вы начали вводить модульные тесты в проект.
Вот другая большая статья о тестировании. В частности, несколько соответствующая кавычка от него:
Вот ужасная идея - решают, что Вы собираетесь провести целую неделю, создающую набор тестов для Вашего проекта. В первую очередь, Вы будете, вероятно, просто расстроены и сожжете на тестировании. Во-вторых, Вы, вероятно, запишете плохие тесты сначала, поэтому даже если Вы получите набор записанных тестов, Вы испытываете необходимость для возвращения, и переписать их один Вы выясняете, насколько медленный, хрупкий, или нечитабельный они.
Я думаю, что Вы - более обеспеченные тесты здания 1 за один раз, поскольку Вы исправляете ошибки или добавляете, что новая функциональность... не пытается создать недостающие тестовые сценарии, у Вас должна быть конечная цель для каждого теста, вместо того, чтобы только улучшить покрытие.
За Dale проголосовали. Да, нет никакого усиления для добавления модульных тестов для кодирования, это работает. Позволяет говорят, что существует две неизвестных ошибки X и Y. В какой-то момент X показан типичным полевым использованием. Вы фиксируете его, добавляете модульный тест и идете дальше. Теперь позволяет, предполагают, что Y никогда не раскрывается за все время жизни программы. С тех пор Y никогда не показывал себя, это - как будто это никогда не существовало; никакая потребность потратить впустую ресурсы. Умножьте это на сотни или тысячи бездействующих ошибок, и Вы сохраняете себя большое лишнее обслуживание.
Почему Вы хотите добавить модульные тесты? Вы чувствуете, что код имеет ошибки? Вы просто хотите, чтобы что-то сделало? Вы собирающийся начать новую возможность?
Если это будет более старый продукт, который был выпущен в течение достаточно долгого времени затем, то я соглашусь с другими и только добавлю тесты, когда я найду ошибку или добавляю новую опцию.
Если это - продукт, который все еще разрабатывается и не выпускается или только недавно выпускается, то я запустил бы путем рассмотрения кода. Если бы я видел что-то не совсем прямо тогда, что я добавил бы тест для него. Я, вероятно, сделал бы некоторые тесты для создания некоторых демонстрационных данных. Создание демонстрационных данных, кажется, предлагает настоящий удар для Вашего маркера, и это может быть полезно также.
Я думаю, что существует преимущество для записи тестов, даже когда у Вас нет ошибки для тестирования - когда Вы добавляете новые опции или исправляете ошибки позже, Ваши тесты подтверждают, что Вы не представили новые ошибки.
Если когда-нибудь Вы пытаетесь добавить модульные тесты к старому коду жемчуга, я настоятельно рекомендую
Тестирование Perl: Ноутбук Разработчика Ian Langworth и цветной.
Это имеет некоторый очень хороший прием при тестировании и "непригодного для тестирования" кода прежней версии.
Действительно ли возможно, что мы находимся в панике и запутываемся между модульными тестами и тестами производительности? Случается так, что Ваше приложение хорошо работает с немногими пользователями, но начинает бросать ошибки когда при более тяжелой загрузке? Если так, модульные тесты не являются ответом. Модульные тесты! = Нагрузочные тесты.
Если модульные тесты являются на самом деле ответом, модифицирование модульных тестов является хорошей идеей, поскольку это поможет очистить код. Просто будьте готовы осуществить рефакторинг много. Код, написанный с TDD, оказывается сильным отличием, чем код, написанный без TDD. В моем случае у меня был метод HandleDisposition (), который заботился о большом количестве случаев. Этот вид метода не существовал бы, если бы мы написали код с TDD. При модифицировании модульных тестов мы осуществили рефакторинг ту функцию, и теперь имейте методы как XDisposition (), YDisposition (), ZDisposition (), которые намного легче записать модульные тесты против.