JavaScript
Sinon.JS 1.3.0 out now
On this second day of 2012, I am happy to announce Sinon.JS 1.3.0, the latest and greatest in JavaScript test spies, stubs and mocks.
Sinon.JS 1.1.0 out now
Boy, time passes by quickly. I started writing Sinon.JS while writing my book on TDD with JavaScript, and in just a month, Sinon.JS has celebrates its first birthday (0.5.0 was released June 9th 2010). Today I am happy to announce Sinon.JS 1.1.0, the first significant update since 1.0.0, released last December. In this post I'll take you through what's new and exciting in 1.1.0.
Want to learn TDD?
Eager to learn how to test-drive your JavaScript? Come join me at Falsy values in Warsaw in May, where I will give a full day TDD workshop.
Using Sinon.JS with QUnit
Since my talk at Front-Trends in Poland last week I've gotten a few requests for examples of using Sinon.JS with QUnit. Sinon.JS is completely test framework agnostic and should be very easy to use with any testing framework. This post introduces a mini-plugin, sinon-qunit and shows a few examples of using Sinon.JS with QUnit.
FrontTrends 2010
Last week I gave a talk at FrontTrends 2010. Here's the code from my talk, and a brief summary of it.
JavaScript continuous integration with Hudson and JsTestDriver
JsTestDriver's JUnit compatible XML output makes it dead simple to set up JavaScript continuous integration. This post will help you get started with Hudson.
Full article JavaScript continuous integration with Hudson and JsTestDriver.
Patching JsTestDriver
I hacked a little on JsTestDriver today, fixing a few bugs in some assertions, and possibly more interestingly - improved assertion error messages for certain types of objects.
Sinon.JS 0.6.0 - Fake XMLHttpRequest and improved test framework integration
Sinon.JS 0.6.0 is out and it features a new FakeXMLHttpRequest object and a high-level interface for testing xhr-dependent code along with improvements to sinon.sandbox and sinon.test.
Full article Sinon.JS 0.6.0 - Fake XMLHttpRequest and improved test framework integration.
Sinon.JS 0.5.0 Released
I've been holding off releasing Sinon until it's "done". Luckily, @augustl kicked me for not "releasing early, releasing often", so I got my act together.
Faking Timers and Dates with Sinon
In addition to low-level tools for stubbing and mocking and high-level tools to integrate with test runners, Sinon provides a few useful utilities. This post explains the first of these, which is fake timers and Dates.
Stepping Through JsTestDriver Tests
Sometimes it's useful to split largish JsTestDriver test suites into smaller chunks for debugging, or for slower runs. Here's a quickie little script I wrote to do just that.
Higer-level Stubbing and Mocking Tools in Sinon
Having covered the basic Sinon interface in one and a half posts I want to show you some of the higher-level tools Sinon brings to the table to reduce the amount of ceremony required to add stubs and mocks to your JavaScript tests. Hopefully, these tools will make it dead simple to properly integrate Sinon with any xUnit style test framework.
Full article Higer-level Stubbing and Mocking Tools in Sinon.
Test Spies, Stubs and Mocks - Part 1.5
While presenting the core Sinon interface yesterday i unintentionally left out parts of the API. To make up for the mistake, here are the missing pieces.
JavaScript Test Spies, Stubs and Mocks
One of the things coming out of me recently writing a book (apart from, you know, a book) is a JavaScript stubbing and mocking library (still in the making) called Sinon. This is the first of a total of three posts giving a preview on the API. Hopefully some of you want to share your ideas and feedback on it.
Update on the node.js asserts
I realized that if you want the assert-extras assertions, you probably want the built-in assertions as well.
Unit testing node.js apps
Recently I've been dabbling in the fantastic library that is node.js. Whenever I enter a new development environment I immediately poke around to figure out how to unit test things. I'm uncomfortable writing too much code without tests, especially when I'm on unfamiliar grounds. Here's what I landed on in round one.
Test Driven JavaScript - The Book
For those of you who didn't already know: I'm writing a book. It's about JavaScript, it's about unit testing and it's about Test Driven Development. It won't be out until October this year, but drafts are already available through Safari Rough Cut.
Jstdutil - A Ruby wrapper over JsTestDriver
Today I needed remote access to a gem I've been tinkering with for a while, so I pushed it to
Gemcutter. It's called
jstdutil, and it provides a small Ruby wrapper over
JsTestDriver that adds colored output, a short, snappy `jstestdriver` command and autotest.
Test driven JavaScript done right
Since this summer, I've been test driving all my JavaScript code using Google's fairly fresh JsTestDriver project. If you're intrigued by TDD with JavaScript, including automatic testing (in a console, or - if you're a masochist - an IDE), test suites of 300+ tests running in 498ms as well as shiny red and green output, you should read on.
Slides from my JavaScript TDD presentation
Last night I gave a presentation to the local Ruby user group in Oslo on tools for supporting test driven development in JavaScript.
Upcoming updates to Juicer
It's been quiet around here for a while. It's been quiet around Juicer, too. Both of those are going to change. After being given a push, Juicer is now finally up for some updates.
Syntactical sugar for your JavaScript unit tests
After switching my Ruby tests from vanilla Test::Unit to
Shoulda (via
Jeremy McAnally's Context) a while back I've gotten quite used to sexy unit tests. Coming back to
JsUnitTest for JavaScript last night, I realized the syntac wasn't working for me anymore. So today, I fixed it.
Full article Syntactical sugar for your JavaScript unit tests.
Juicer - a CSS and JavaScript packaging tool
For best performance, CSS and JavaScript should be served up using as few requests and bytes as possible. Juicer is a new command line tool that helps by resolving dependencies, merging and minifying files. It can even check your syntax, add cache busters to and cycle asset hosts on URLs in CSS files and more.
TDD/JavaScript: $()
Most modern JavaScript libraries offer some kind of "dollar sign function". As another applied example of test driven development in JavaScript I'll walk you through developing your own dollar sign function.
A test driven example
With my two introductory posts on JavaScript testing under the belt, it's time to do some actual testing. In todays post I walk you through a pretty simple example in test driven development with JavaScript, coding a trim() function. The end result is presented with Qunit, jsunittest.js and YUI Test.
Test driven development with JavaScript, part two
It's been a while since part one, but I guess late is better than never. In this second part I'll walk you through some available testing frameworks for JavaScript.
Full article Test driven development with JavaScript, part two.
Test driven development with JavaScript
In a series of three articles I am going to walk you through the what's and why's of unit testing and test driven development focusing on JavaScript. We'll look into the underlying concepts, available frameworks for JavaScript, and of course a practical example to top it all off.