Mats Bryntse
8 April 2015

Siesta 3.0 is here!

SenchaCon just started, and what better way to kick it off than to announce the 3.0 release of Siesta. This […]

SenchaCon just started, and what better way to kick it off than to announce the 3.0 release of Siesta. This release contains a wide range of new features as well as stability improvements.

New user interface

Screen Shot 2015-04-04 at 09.15.32

The first thing you’ll notice about the 3.0 version is the new UI. It’s built using the latest Ext JS 5.1 version and features a customized crisp theme. Lots of improvements have been made relating to performance, stability and overall memory usage.

Jasmine support

One of the great new features of the 3.0 release is that you can run Jasmine test suites directly inside Siesta. This enables you to make a painless migration if you want to keep your old Jasmine tests while making use of the additional power in Siesta.

           
// Siesta can also run a Jasmine test suite
{
       name            : 'Jasmine tests',
       jasmine         : true,
       expectedGlobals : ['Player', 'Song'],
       url             : '1.unit-tests/jasmine_suite/SpecRunner.html'
}

And here’s a screenshot from a new example which ships with Siesta 3.0.

Screen Shot 2015-04-04 at 09.15.04

beforeEach/afterEach and test spies

In 3.0 you can now use popular BDD testing patterns like spies and beforeEach/afterEach hooks. These make your life a lot easier and will help you keep your test code DRY. If your tests contains lots of repeated setup code, you can use the beforeEach hooks instead:

 
    t.beforeEach(function(){
        // Do some setup code code here
    });

    t.afterEach(function(){
        // Do some cleanup code code here
    });

Spies are useful to stub a method and monitors the number of calls to it as well as all the arguments passed. Here’s a simple sample of using spies.

 
    var spy = t.createSpy('007');

    spy();
    spy(0, 1);
    spy(0, 1, '1');

    t.expect(spy).toHaveBeenCalled();
    t.expect(spy).toHaveBeenCalledWith(0, t.any(Number), t.any(String));

    t.is(spy.calls.any(), true);
    t.is(spy.calls.count(), 3);

Touch event support

Siesta now properly emulates touch events which means you can test your touch interfaces easily. The API has been updated and extended with a few new methods such as touchDrag, tap and more.

t.chain(
     { tap : '.someElement' },
     { touchDrag : '.x-tree-node', to : [100, 200] }
);

Try it out today

You can download Siesta Lite right away from its product page. If you have a license you can simply download the full version from our customer zone. For a full list of changes, please see our changelog.

Mats Bryntse

Product updates Siesta Testing