Рубин: Минитест / Спекуляция и BDD Огурец - PullRequest
1 голос
/ 05 октября 2011

Кажется, я не могу найти много документации по Minitest / spec, поэтому мне было интересно, может ли кто-нибудь помочь мне понять, как делать то, что мне нужно делать.По сути, я хочу запустить тесты на всех моих классах и модулях, чтобы убедиться, что они 1.) Выводят правильный тип значения, если он статический или 2.) В случае to_symbols все ключи являются символами.Вот что я попробовал до сих пор:

Как я предполагаю, что Огурец будет выглядеть так:

Given binns
When the version method is called
then the return should be a float
and version should be a method or constant

То, что я предполагал, будет с minitest / spec:

require 'minitest/autorun'
require 'minitest/spec'
require 'binns'

given Binns do
  when "the version method is called" do
    then "the return should be a float" do
      # Do work
    end
  end
end

Но я получаю:

syntax error, unexpected keyword_when (SyntaxError)
  when "the version method is called" do
      ^

Примечание: я также открыт для других предложений по тестированию (я не очень разбираюсь в огурцах и слышал, что он здоровенный) или, если у кого-то есть предложение по книге, пожалуйста,скажи, что я искал хорошую книгу о модульном тестировании Ruby.

1 Ответ

3 голосов
/ 07 октября 2011

MiniTest / Spec использует синтаксис в стиле Rspec: desc, it, before, after ...

require 'minitest/autorun'
require 'minitest/spec'
require 'binns'

desc Binns do
  it "should return a float when the version method is called" do
    # Do work
  end
end

Если бы это облегчило вам переход, вы можете присвоить псевдониму метод "desc" - "данный", а методу "it" - "когда".

Хороший урок от Питера Купера здесь.

...