Представляя Fix

Fix представляет собой новый инструмент в спецификации.

Фикс минимум инструментов тестирования. Это меньше, чем 200 строк кода. Он основан на Spectus, Matchi и Defi.

Вот пример кода:

class Monster
  def self.get
    {
      boo: {
        name: 'Boo',
        life: 123,
        mana: 42
      },
      hasu: {
        name: 'Hasu',
        life: 88,
        mana: 40
      }
    }
  end

  def get(id)
    self.class.get.fetch(id)
  end
end

С Fix, мы можем написать этот тест:

require_relative 'monster'
require 'fix'

Fix.describe Monster do
  on :get do
    on :keys do
      it { MUST Eql: %i(boo hasu) }
    end
  end

  on :new do
    on :get, :boo do
      it { MUST Eql: { name: 'Boo', life: 123, mana: 42 } }
    end

    on :get, :boom do
      it { MUST RaiseException: KeyError }
    end
  end
end

Результат:

ruby monster_fix_spec.rb
...

Ran 3 tests in 0.000411 seconds
100% compliant - 0 infos, 0 failures, 0 errors

Для более подробной информации, вы можете прочитать в документации и кода.

Счастливый кодирования!

Источник: rubyflow.ru

Вход для пользователей