Class: Hobby::Devtools::RSpec
- Inherits:
-
Object
- Object
- Hobby::Devtools::RSpec
- Defined in:
- lib/hobby/devtools/rspec.rb
Class Method Summary collapse
Instance Method Summary collapse
- #app(&block) ⇒ Object
- #format(format) ⇒ Object
-
#initialize(&block) ⇒ RSpec
constructor
A new instance of RSpec.
- #path(path) ⇒ Object
Constructor Details
#initialize(&block) ⇒ RSpec
Returns a new instance of RSpec.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/hobby/devtools/rspec.rb', line 15 def initialize &block @path = 'spec/http' instance_exec &block Dir["#{@path}/**/*.yml"].each do |file| test = Hobby::Test.from_file file, format: @format ::RSpec.describe(file).instance_exec test, @app do |test, app| before :each do |example| socket = "app.for.#{SecureRandom.uuid}.socket" @pid = fork do server = Puma::Server.new app.call server.add_unix_listener socket server.run sleep end sleep 0.01 until File.exist? socket @socket = socket @report = test[socket] end after(:each) { `kill -9 #{@pid}` `rm #{@socket}` } it 'works' do expect(@report).to be_ok end end end end |
Class Method Details
.describe(&block) ⇒ Object
11 12 13 |
# File 'lib/hobby/devtools/rspec.rb', line 11 def self.describe &block new &block end |
Instance Method Details
#app(&block) ⇒ Object
49 50 51 |
# File 'lib/hobby/devtools/rspec.rb', line 49 def app &block @app = block end |
#format(format) ⇒ Object
57 58 59 |
# File 'lib/hobby/devtools/rspec.rb', line 57 def format format @format = format end |
#path(path) ⇒ Object
53 54 55 |
# File 'lib/hobby/devtools/rspec.rb', line 53 def path path @path = path end |