SitePen has open sourced an exciting (can you get excited about testing? Yes, yes you can!) new JavaScript testing framework called Intern. What makes this testing framework stand out from the rest? Look no further than the README’s comparison matrix to find out. Want to get started with Intern? There’s also a community-driven examples repo [...]
Testing
Spring: pre-load your Rails apps right
When you’re working on a big app, Rails’ startup time can be slow. It’s a hard problem, and there’s been a lot of work done in Ruby and Rails to help solve this pain. Rails Core member Jon Leighton has a new gem that helps solve this problem: it’s called spring. Basically, Spring is in [...]
Bwoken – iOS UIAutomation testing in CoffeeScript right
Testing iOS apps is hard. Apple’s UI Automation lets you write test scripts in JavaScript and simulate user interaction, but who wants to hang out in the Instruments GUI app? Bendyworks has improved on the process, however, bringing the simplicity of Rake and the elegance of CoffeeScript to your UI Automation tests: #import “../../../../Pods/tuneup_js/tuneup.js” #import [...]
JSCheck – random property testing tool for JavaScript right
Douglas Crockford has released JSCheck, a lightweight JavaScript testing tool. Inspired by the Haskell library QuickCheck, JSCheck will generate random test cases against the specified properties of a system, function, or object. The project introduces a JSC global which includes: The claim function takes a name, a predicate function, and an array of specifiers. The [...]
Fivemat – better test output formatting for Ruby right
Tim Pope is a first-balloter for any future Vim Hall of Fame so we’ll forgive him the pun on his latest project. Fivemat (which is better than format) aims for middle ground between nothing bot dots and a firehose of test output. With support for MiniTest, RSpec, and Cucumber, Fivemat provides dot summaries and failure [...]
Episode 0.7.5 – Travis CI, Riak, and more with Josh Kalderimis and Mathias Meyer
Wynn caught up with Josh Kalderimis and Mathias Meyer from Travis CI to talk about hosted CI in the sky, scaling apps, and a little Riak. Items mentioned in the show: Travis CI a hosted continuous integration service for the open source community. Josh Kalderimis is a core Travis CI team member, Rails contributor, gem [...]
Travis CI now supports Python and Perl right
Since we first covered Travis CI a year ago, the project has continued to improve support for Ruby as well as additional languages. In addition to supporting PHP as well as Java, Scala, and Groovy, Travis now supports Perl and Python. Setting up your Python project is straightforward. Just provide the travis.yml to declare your [...]
CSS3 Test – How does your browser score for its CSS3 support? right
If you’d like to know how your browser scores for its CSS3 support, you have to check out Lea Verou’s CSS3 Test. She announced the project yesterday on her blog. Here’s screenshot of my browser, Google Chrome 23.0.1271.101. Lea actually planned this as an improvement to her interactive CSS playground called Dabblet (Source on GitHub), [...]
Spinach – Like Cucumber but with more Ruby, less Regex right
Another week, another Ruby testing library. The latest is Spinach from the developers at Codegram which aims to remove the Regex magic from Cucumber. In Spinach, steps are implemented as Ruby classes: # from the docs at [http://rubydoc.info/github/codegram/spinach/master/file/README.markdown](http://rubydoc.info/github/codegram/spinach/master/file/README.markdown) class TestHowSpinachWorks < Spinach::FeatureSteps Given ‘I have an empty array’ do @array = Array.new end And ‘I [...]
Ghostbuster: Easier headless testing with PhantomJS (and CoffeeScript) right
Ghostbuster from Joshua Hull from the Padrino team aims to make it even easier to get started with PhantomJS. Just by installing the gem, Ghostbuster will download and configure Phantom JS so you can write beautiful tests in CoffeeScript. phantom.test.root = “http://127.0.0.1:4567″ # you must specify your root. phantom.test.add “Simple index”, -> # this adds [...]
Goldberg: Lightweight, multi-language continuous integration server right
We’ve covered continuous integration projects such as Jenkins and Travis before. Now Goldberg, which has just turned 1.0, jumps into the ring with a CruiseControl.rb-compatible offering. Goldberg supports RVM and Bundler for Ruby projects, but it can build most any software project, simply configure the command in the project configuration. Goldberg also supports a number [...]
Summer Breeze: creates dynamic Rails fixtures for Jasmine tests right
On stage at Red Dirt Ruby Conference, Noel Rappin has released Summer Breeze, a gem that makes working with Jasmine in Rails a bit easier. Summer Breeze dynamically creates Rails fixtures for your Jasmine tests. Installation and usage To install via RubyGems: gem install summer_breeze … and run the bundled generator: rails generate summer_breeze:install Now [...]
travis: Distributed CI for the Ruby community using Rails, Websockets, and Redis right
Berlin based Rubyist Sven Fuchs asks if Java-based Jenkins is the best CI tool for open source Ruby projects. Sven writes: Instead, imagine a simple and slim build server tool that is maintained by the Ruby community itself (just like Gemcutter is, or many other infrastructure/tool-level projects are) in order to support all the open-source [...]
Episode 0.4.8 – Jenkins (formerly Hudson) with Kohsuke Kawaguchi and Andrew Bayer
Kenneth and Wynn caught up with Kohsuke Kawaguchi and Andrew Bayer from the Jenkins project to talk about continuous integration, Java, and corporate backing drama. Items mentioned in the show: StickerMule is making some awesome stickers for us Wynn and Adam received their Hubcap stickers as well CI Joe is GitHub’s continuous integration server Knowing [...]
tobi: Expressive server-side functional testing with jQuery right
Ruby devs have long profited from powerful testing tools such as Cucumber, Webrat, and Capybara for functional testing. Now TJ and LearnBoost bring the approach to server-side JavaScript apps with Tobi. Stitching together jsdom, htmlparser, and jQuery, Tobi lets you step through the DOM, follow links, fill in & submit forms, and assert results. To [...]
Watch Wednesday
Quick hitting list of projects to check out on GitHub: pauldowman / gitmodel Git Model is an ActiveModel-compatible NoSQL store based on git. Not ready for primetime but very interesting. assaf / vanity Vanity is declarative A/B testing for Rails. sidelab / tile5 Tile5 is a nifty multi-provider mobile-optimized mapping framework for building mapping or [...]
soda: Selenium adapter for Node.js right
Soda the latest project from LearnBoost, brings Selenium RC to Node.js. Install Soda via npm $ npm install soda and with your Selenium server running you can run an example in your Node app with: $ node examples/my_example.js As with most everything Node, example actions are callback-driven: browser.session(function(err){ browser.open(‘/’, function(err, body, res){ browser.type(‘q’, ‘Hello World’, [...]
htty: HTTP TTY, curl meets lynx in an HTTP console right
We’ve covered a number of web console tools like Webshell, a nifty HTTP console for Node.js, and Twurl, the Twitter-specific tool for Ruby. But when Nils Jonsson created an incredibly useful HTTP console with some old-school flair, we took notice. HTTY brings HTTP to a handy terminal shell in what Nils describes as a combination [...]
Faker.js – Generate fake data in Node.js or in your browser right
Inspired by Ruby’s Faker gem and Perl’s Data::Faker, Faker.js lets you create large amounts of fake yet contextual data. Need a fake name for a form or fixture? Faker.Name.findName(); => “Webster Jakubowski” What about a zip code? Faker.Address.zipCode(); => “07555-2886″ Company catchphrase? Faker.Company.catchPhrase(); => “Multi-channelled reciprocal attitude” There is a demo on the project homepage [...]
specr – A lightweight BDD framework for C# using the .NET 4.0 framework right
specr from Michael Erasmus is inspired by Ruby’s rspec and aims to add a drop-in BDD framework to your .NET unit tests. specr leverages .NET 4.0 features and brings rspec’s vocabulary into C# idioms: var foo = “foo”; foo.Should().BeA<string>(); foo.Should().NotBeAn<int>() foo.Should().Equal(“foo”); foo.Should().NotEqual(“bar”); There are more examples in the README. [Source on GitHub]
Delorean – mock Ruby’s Time.now with style right
At The Changelog, we give bonus points for witty project names. How could we pass up a repo named Delorean. Delorean is a smart way to mock Ruby’s Time.now method thereby allowing you to travel in time. Why is this helpful? Testing. Consider the following spec from the README: it “should show latest created user” [...]
aruba – Cucumber steps for testing your command line apps right
Terminal junkies rejoice! Now you can use Cucumber to test your command line interfaces just like you do for your web apps. Aruba from Cucumber creator Aslak Hellesøy provides familiar step definitions for testing output, exit statuses, and file system commands. Here’s an example feature file for testing exit statuses: Feature: exit statuses In order [...]
Episode 0.1.2 – Gordon is such a Showoff
Adam and Wynn continued chatting with John Nunemaker about some recent featured projects including Gordon, Showoff, jQuery Lint, JSpec, congomongo and more. Items discussed in the show: Friendly NoSQL in MySQL configliere – Simple Ruby configuration twitter-node – Node.js tweetstreaming Gordon – Pure JavaScript Flash replacement jQuery Lint – jQuery validator Showoff – Keynote killer? [...]
JSpec: Robust BDD for both client and server JavaScript right
JSpec from @visionmedia wants to be your BDD framework no matter where you run your JavaScript. JSpec supports not only JavaScript in the browser and popular client-side frameworks like jQuery, it also supports server-side JavaScript including Rhino and Node.js. From the README specs may be written using JSpec grammar: describe ‘ShoppingCart’ before_each cart = new [...]
Gospecify – BDD library for Google Go right
For those familiar with RSpec, Gospecify provides a BDD syntax for testing your Go code. [Source on GitHub] [From @stesla]
CSpec – BDD with C right
Very nice, readable syntax from CSpec that alllows you to do behavior driven development with C. #include “cspec.h” static int nbefore_each; describe “CSpec before_each” before_each ++nbefore_each; end it “should be called before each spec” nbefore_each should equal 1 end it “should be called before each spec” nbefore_each should equal 2 end end [Source on GitHub]