Sha256: 660e06e416d6b4ca055d3441b56a50ddf7b92216206fcd3ef022ce1ea518a383
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
# opal-spec opal-spec is a minimal spec lib for opal, inspired by RSpec and MSpec. It is designed to run on [opal](http://opalrb.org), and provides the bare minimum to get specs running. ## Writing Specs Your specs should go into the `/spec` directory of your app. They take the same form as rspec/mspec: ```ruby describe MyClass do it 'should do some feature' do 1.should == 1 end it 'does something else' do nil.should be_nil false.should be_false true.should be_true end end ``` ### Supported notations ```` * describe "foo" do ... end * it "should foo" do ... end * before do ... end * after do ... end * let(:foo) { ... } * async # see below * obj.should == other * obj.should != other * obj.should be_nil * obj.should be_true * obj.should be_false * obj.should be_kind_of(klass) * obj.should eq(other) # compare with :== * obj.should equal(other) # compare with :equal? * obj.should raise_error * obj.should be_empty * obj.should respond_to(method) * obj.should_not xxx ``` ### Async examples Examples can be async, and need to be defined as so: ```ruby describe 'MyClass' do # normal, sync example it 'does something' do #... end # async example async 'does something else too' do #... end end ``` This just marks the example as being async. To actually handle the async result, you also need to use a `run_async` call inside some future handler: ```ruby async 'HTTP requests should work' do HTTP.get('users/1.json') do |response| run_async { response.ok?.should be_true } end end ``` The end of the block passed to `run_async` informs opal-spec that you are done with this test, so it can move on.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-spec-0.3.2 | README.md |