I stopped trying to define Unit Tests (I would define it as Feathers defined it) and now exclusively use the terms:
I/O-Based tests: has I/O in the test (accesses clock, database, etc.)
I/O-Free tests: no I/O access in the test (no current date/time, no random numbers, no file access, no network access, etc.)
I'll slip up and use "Unit" when I really mean I/O-Free (and "Integration" when I mean "I/O-Based"), but for the most part I've switched.
There's so much baggage and debate around "what's a unit?", when that isn't always the most important question. I've found it much easier to explain that when doing #TDD, we want to use I/O-Free tests as they'll be sufficiently fast to get feedback in less than a couple of seconds.
Instant, ephemeral PostgreSQL database "in the cloud":
Windows IE 6,7,8,9 VMs for free: This might be a live saver in some situations... I wished no one would use IE though
Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.
behave uses tests written in a natural language style, backed up by Python code.
RT @amleczko: Just found - great debug smtp server for your buildout #python thanks @fschulze
Tox as is a generic virtualenv management and test command line tool you can use for:
checking your package installs correctly with different Python versions and interpreters
running your tests in each of the environments, configuring your test tool of choice
acting as a frontend to Continuous Integration servers, greatly reducing boilerplate and merging CI and shell-based testing.
htty is a console application for interacting with web servers. It’s a fun way to explore web APIs and to learn the ins and outs of HTTP.