Почему в MiniTest есть 2 вида тестов контроллера?

Я перехожу на MiniTest из RSpec и испытываю при этом пару трудностей. Я следил за некоторыми примерами, которые я нашел:

class ArticlesControllerTest < ActionController::TestCase
    test "should get index" do
    get :index
    assert_response :success
    assert_not_nil assigns(:articles)
  end
end

Итак, это класс, который наследуется от ActionController::TestCase, и это имеет смысл.

Но есть и другие примеры, подобные этому:

require 'test_helper'

describe ThingsController do
  describe "#create" do

    it do "valid"
      login_user
      post :create, { catalog: { name: "My Thing", description: "Description of my thing."}}
      assert_redirected_to thing_path(Thing.last)
    end

  end
end

Чем отличаются эти два стиля? Я использую второй пример, и ни одно из моих перенаправлений не работает так, как в моей системе разработки. Пытаюсь докопаться до сути.


person AKWF    schedule 27.04.2015    source источник
comment
Первый — это классический стиль Test::Unit, второй — больше похож на Rspec. Однако они должны быть функционально идентичны, за исключением того, как объявляются тесты.   -  person tadman    schedule 27.04.2015


Ответы (1)


Во-первых, это Minitest::Синтаксис модульного теста объясняется здесь

Второй больше похож на синтаксис Rspec, вы можете использовать гем minitest-spec-rails для этого

person Anuja Joshi    schedule 27.04.2015