leahneukirchen / bacon Goto Github PK
View Code? Open in Web Editor NEWa small RSpec clone
Home Page: http://rubyforge.org/projects/test-spec/
License: Other
a small RSpec clone
Home Page: http://rubyforge.org/projects/test-spec/
License: Other
I see Since version 1.0, there is autotest support. what is the autotest , which gem I need install?
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.
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
Would you like to integrate it?
This is a information for the people who want to ask him for issues and pull-requests.
When I talked with @chneukirchen today, he told me that "Bacon development has halted".
Thank you @chneukirchen until now.
As a RubyMotion user I am unable to set up continuous integration properly.
Jenkins CI is capable of building "TestsLaunched( BuildNumber )" charts for JUnit style output. With Bacon I don't even get a proper non-zero exit code if some tests are failing.
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. :/
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:in
instance_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:in
handle_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:in
describe'
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:in
each'
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 method
include' 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:in
run'
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:in
run'
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: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:in each' 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
Any ideas what the problem is?
cheers,
DAZ
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?
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...
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.
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.
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.
Looking for a way to test rake tasks with bacon similar to http://robots.thoughtbot.com/test-rake-tasks-like-a-boss but I can't seem to replicate rspec's let(:rake) stuff there. Is there an alternate way to do this in bacon?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.