GithubHelp home page GithubHelp logo

bacon's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bacon's Issues

about autotest support.

I see Since version 1.0, there is autotest support. what is the autotest , which gem I need install?

Global before/after

I appreciate the minimalism of bacon, but there should be a possibility to supply before/after blocks that get executed for every context.

Useful for ensuring database changes by previous contexts are rolled back before new contexts are run.

Colored output

I use this module for my tests, and find the output much more readable:

module Bacon
  module ColoredOutput
    def handle_specification(name)
      puts spaces + name
      yield
      puts if Counter[:context_depth] == 1
    end

    def handle_requirement(description)
      print spaces

      error = yield

      print error.empty? ? "\e[32m" : "\e[1;31m"
      print "  - #{description}"
      puts error.empty? ? "\e[0m" : " [#{error}]\e[0m"
    end

    def handle_summary
      print ErrorLog  if Backtraces
      puts "%d specifications (%d requirements), %d failures, %d errors" %
        Counter.values_at(:specifications, :requirements, :failed, :errors)
    end

    def spaces
      "  " * (Counter[:context_depth] - 1)
    end
  end

  extend ColoredOutput
end

example

Would you like to integrate it?

Unable to find info on Cucumber integration on NON Rails ruby apps.

Hi there,

Sorry for bugging you. Been all over google and just getting food replies so I'm obviously searching wrong or my google fu is broken today. Trying to set up to write tests against FreeSWITCH and we use Bacon rather than RSpec. What do I need to do to integrate the two such that cucmber will call bacon when I run the features and it attempts to execute the steps?

It keeps looking for rspec. :/

undefined method `include'

I'm following the code on the Sinatra website (http://www.sinatrarb.com/testing.html#bacon)

When I run >bacon test.rb, I get the following output:
The HelloWorld App
0 specifications (0 requirements), 0 failures, 0 errors
./test.rb:8: undefined method include' for #<Bacon::Context:0xb750d798> (NoMethodError) from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:ininstance_eval'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:in run' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:41:inhandle_specification'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:in run' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:284:indescribe'
from ./test.rb:7
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:115:in load' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:115 from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:114:ineach'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:114
from /usr/bin/bacon:19:in load' from /usr/bin/bacon:19 ./test.rb:8: undefined methodinclude' for #Bacon::Context:0xb750d798 (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:in instance_eval' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:inrun'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:41:in handle_specification' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:139:inrun'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/../lib/bacon.rb:284:in describe' from ./test.rb:7 from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:115:inload'
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:115
from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:114:in each' from /usr/lib/ruby/gems/1.8/gems/bacon-1.1.0/bin/bacon:114 from /usr/bin/bacon:19:inload'
from /usr/bin/bacon:19

Any ideas what the problem is?

cheers,

DAZ

How does one debug tests?

I'm struggling to workout how to debug my tests.

I've tried object.inspec but don't seem to be able to see the output.

I've also tried using the debugger gem

require 'debugger'

describe "something" do
  it "should do something" do
    debugger
  end
end

How does one go about debugging their bacon tests?

Can't run (flunk) tests from TextMate with MacRuby

When running Bacon on a suite with failing tests from TextMate [or Xcode] with Ruby 1.9 (MacRuby), I get:

core:in `write:': not opened for writing (IOError)

Oddly, I don't get this if I run it from the command-line with MacRuby, or use MRI Ruby 1.8.

I don't know if this occurs with other Ruby 1.9 implementations...

flag to turn off monkeypatch methods

I'd like to add a flag (i.e. bacon -m) which can disable all the classes bacon monkeypatches i.e. Numeric, Proc, Object. The motivation behind this is to provide a version of bacon which doesn't monkeypatch core classes while being used with bacon plugins. An example plugin would be to make bacon test-unit compatible by providing test-unit's assert_* assertions using bacon's Should class.

Pending tests

I have a use case where I'm writing a test for an API endpoint that does not yet exist. Rather than having a failing test it would be nice to be able to change it to pending, just like in rspec. I know this isn't a critical feature, but it would be nice to have.

The after block does not appear to run

require 'rubygems'
require 'bacon'

describe 'null' do
  before do
    M = :hello
  end

  it 'should be hello' do
    M.should == :hello
  end

  it 'should be hello again' do
    M.should == :hello
  end

  after do
    Object.send(:remove_const, :M)
  end
end

When i run this code i get this output:
should be hello
should be hello againt.rb:6: warning: already initialized constant M

So it appears the after() block does not run (if it did there wouldn't be the 'already initialized constant' warning)

NOTE: this code DOES work fine, without warnings in RSpec.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.