Pull to refresh

Comments 10

У меня насчёт AVA вопрос:


Предположим, что у меня есть такой код:


import React from 'react';
import styles from './ExampleComponent.css';
import DemoIMG from '../assets/logo.png';
import DemoSVG from '../assets/dummy.svg';

export class ExampleComponent extends React.Component {
    render () {
        return (
            <div className = {styles['root']}>
                <img src = {process.env.CDN_ROOT_URL + '/image.jpg'}
                <img src = {DemoIMG}/>
                <DemoSVG width = {300} height = {300} className = {styles['normal']} />
            </div>
        );
    }
}

Этот код работает только благодаря loader-ам Webpack-а. Чем AVA лучше Mocha, если без компиляции кода теста, тест всё равно не завести?

AVA внутри использует Babel. Просто дбавьте в конфиг плагины/пресеты, которые вам нужны.

В данном случае вам нужен пресет react.

Не-не-не. Babel тут не причем. Babel не умеет CSS-Modules, SVG и прочие клевые штуки. Это задача webpack-loaders и webpack-plugins.

Если перед тестами каждый раз собирать проект с webpack, то достаточно много времени уходит на запуск тестов, в нашем проекте мы используем такие хаки

styleHook({
  extensions: [ '.css', '.scss' ],
  preprocessCss: data => sass.renderSync({ data, includePaths: ['./src/theme/'] }).css
});

require.extensions['.png'] = () => ({});
require.extensions['.svg'] = () => ({});



в таком случае mocha/wallaby.js могут собирать проект и не ругаться на файлы ассетов
if (typeof number !== 'number') throw new TypeError('Only numbers can be multiplied!')

Вместо того, чтобы обмазывать такими проверками весь код, а потом еще писать тесты на эти проверки, лучше сразу использовать Typescript.
standard?
Спасибо, нет. В нем противно решительно всё, начиная от двух пробелов для интендации и запрета на точку с запятой (Крокфорд, где ты, когда ты так нужен?) и заканчивая довольно-таки наглым самоименованием. Стандарт? Ха, нет.
Ну и в дополнение Standard не статический анализатор кода, как пишет автор, это просто style guide, да и только.
Ну вот я не могу въехать во все это сразу, т.к. работаю на C# и считаю, что нужно расширять стек используемых технологий. Но на строке с командой npm напрочь перестаю понимать, что происходит.
Думаю, всем присутствующим это не составляет проблем, и понимаю почему. А с другой стороны — поставьте себя на мое место.
Прикладная разработка внутри компании, TFS, C#, WCF, WPF и несколько разработчиков.
Ну телепатом надо стать, чтобы понять, куда копать.
Может Вы вкратце укажете, куда смотреть, чтобы понять смысл команд и используемых инструментов? Буду очень признателен.
И не я один такой.
Гуглил уже до потери сознания, но все воедино не могу сложить никак…
Смотреть на npmjs.org. Там всё очень просто: какой пакет запускаете, такие задачи выполняются. Конкретно — те JS-скрипты, которые будут установлены по npm install… в папке /node_modules. Можно просто поверить описанию, а можно протрассировать, расставив в скриптах debugger; или console.log и увидеть, как исполняется.
Sign up to leave a comment.