2015-02-11 2 views
3

Я новичок в тестировании. Я пытаюсь использовать stripe-ruby-mock gem с minitest.stripe-ruby-mock gem with Minitest

В нашивки-рубинового-макет документы описывают фиктивный пример в Rspec, что я пытаюсь перевести MiniTest:

require 'stripe_mock' 

describe MyApp do 
    let(:stripe_helper) { StripeMock.create_test_helper } 
    before { StripeMock.start } 
    after { StripeMock.stop } 

    it "creates a stripe customer" do 

    # This doesn't touch stripe's servers nor the internet! 
    customer = Stripe::Customer.create({ 
     email: '[email protected]', 
     card: stripe_helper.generate_card_token 
    }) 
    expect(customer.email).to eq('[email protected]') 
    end 
end 

Мой перевод на MiniTest

require 'test_helper' 
require 'stripe_mock' 

class SuccessfulCustomerCreationTest < ActionDispatch::IntegrationTest 
    describe 'create customer' do 
    def stripe_helper 
     StripeMock.create_test_helper 
    end 

    before do 
     StripeMock.start 
    end 

    after do 
     StripeMock.stop 
    end 

    test "creates a stripe customer" do 
     customer = Stripe::Customer.create({ 
             email: "[email protected]", 
             card: stripe_helper.generate_card_token 
            }) 
     assert_equal customer.email, "[email protected]" 
    end 
    end 
end 

Ошибка

NoMethodError: undefined method `describe' for SuccessfulPurchaseTest:Class 

Я консультировался с мини-документами, чтобы убедиться, что describe не был специфичен для R spec, но оказывается, что он также используется в minitest. Я предполагаю, что реализация выполнена неправильно. Любая помощь оценивается.

ответ

1

Привет, Я в основном парень Rspec, но я думаю, что вы проблема в том, что вы используете и интегрируете тестовый пример, когда вы должны использовать единичный тестовый пример. Вместо этого попробуйте следующее:

class SuccessfulCustomerCreationTest < MiniTest::Unit::TestCase 
1

Я думаю, вы смешиваете вещи. Проверка Minitest страница по разделам Ед. Изм. и Характеристики. Я думаю, что вам нужно следующее:

require 'test_helper' 
require 'stripe_mock' 

class SuccessfulCustomerCreationTest < Minitest::Test 
    def stripe_helper 
    StripeMock.create_test_helper 
    end 

    def setup 
    StripeMock.start 
    end 

    def teardown 
    StripeMock.stop 
    end 

    test "creates a stripe customer" do 
    customer = Stripe::Customer.create({ 
             email: "[email protected]", 
             card: stripe_helper.generate_card_token 
             }) 
    assert_equal customer.email, "[email protected]" 
    end 
end 

Или, если вы хотите использовать синтаксис Spec. Надеюсь, это поможет кому-то.

0

вы хотите требовать:

require 'spec_helper' 

для RSpec например.