Skip to content

Test driven development

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.

Full article Sinon.JS 1.3.0 out now.

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.

Full article Sinon.JS 1.1.0 out now.

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.

Full article Want to learn TDD?.

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.

Full article 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.

Full article FrontTrends 2010.

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.

Full article Patching JsTestDriver.

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.

Full article Sinon.JS 0.5.0 Released.

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.

Full article Faking Timers and Dates with Sinon.

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.

Full article Stepping Through JsTestDriver Tests.

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.

Full article Test Spies, Stubs and Mocks - Part 1.5.

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.

Full article JavaScript Test Spies, Stubs and Mocks.

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.

Full article Update on the node.js asserts.

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.

Full article Unit testing node.js apps.

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.

Full article Test Driven JavaScript - The Book.

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.

Full article Jstdutil - A Ruby wrapper over JsTestDriver.

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.

Full article Test driven JavaScript done right.

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.

Full article Slides from my JavaScript TDD presentation.

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.

Pimp my development environment!

Over the past few days I've been adding some bits and pieces that has really pimped by development environment into a slightly more productive one, and certainly a more enjoyable one.

Full article Pimp my development environment!.

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.

Full article TDD/JavaScript: $().

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.

Full article A test driven example.

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.

Full article Test driven development with JavaScript.