Учитывая, что никто не упомянул об этом ...
Некоторые языки высокого уровня, такие как Python и Java, поставляются с инструментами для преодоления ограничений двоичной с плавающей запятой. Например:
decimal
Python [и g0] и класс BigDecimal
Java [], которые представляют числа внутри с десятичной нотацией (в отличие от двоичная запись). Оба имеют ограниченную точность, поэтому они все еще подвержены ошибкам, однако они решают наиболее распространенные проблемы с бинарной арифметикой с плавающей запятой. Десятичные числа очень хороши при работе с деньгами: десять центов плюс двадцать центов всегда ровно тридцать центов: >>> 0.1 + 0.2 == 0.3
False
>>> Decimal('0.1') + Decimal('0.2') == Decimal('0.3')
True
Модуль decimal
Python основан на стандарте IEEE стандарта 802.118 . fractions
модуль и класс Apache Common BigFraction
. Оба представляют собой рациональные числа как пары (numerator, denominator)
, и они могут давать более точные результаты, чем десятичная арифметика с плавающей запятой. Ни одно из этих решений не идеально (особенно, если мы смотрим на выступления, или если мы требуют очень высокой точности), но все же они решают большое количество проблем с двоичной арифметикой с плавающей запятой.
Mocha принимает globs, поэтому это можно сделать в командной строке:
mocha 'test/**/*.{es6,jsx}'
Кавычки таковы, что оболочка не пытается интерпретировать ее и калечить ее в процессе. Это может работать без них, но лучше безопасно, чем жаль ...
Итак, вы можете поместить шаблон в test/mocha.opts
, и Mocha будет читать его с каждым вызовом. Просто поместите это в файл:
test/**/*.{es6,jsx}
Или добавьте его в конец вашего mocha.opts
файла, если у вас уже есть другие опции.