Blog

Luis Majano

December 02, 2013

Spread the word


Share your thoughts

We are so stoked to bring you the Release Candidate version of: TestBox.  TestBox is a next generation testing framework for ColdFusion that is based on BDD (Behavior Driven Development) for providing a clean obvious syntax for writing tests. It contains not only a testing framework, runner, assertions and expectations library but also integrates with MockBox for mocking and stubbing. It also supports xUnit style of testing and MXUnit compatibilities.  TestBox can be downloaded from our main downloads page and it has been also integrated into our "development" branch for the ColdBox platform as well.  The following are the release notes for this release candidate:

Release Notes

Bugs Squashed

  • [TESTBOX-4] - toBeNull() Not Working correctly on alpha
  • [TESTBOX-5] - toBeNull() - GetStringName is undefined exception
  • [TESTBOX-6] - Raw reporter throws exception on remote runner, now it returns a raw representation
  • [TESTBOX-7] - Multiple Nested Suites was not tracking correctly
  • [TESTBOX-15] - Broken JS in dot reporter

Improvements

  • [TESTBOX-16] - Add debug data stream toggles to main reporters
  • [TESTBOX-17] - Reworked 'custom matchers' to new simplified approach for registration and declaration

New Features

  • [TESTBOX-3] - Ability to run tests via URL if they inherit from the BaseSpec class via the remote method: runRemote
  • [TESTBOX-8] - Annotation 'expectedException' should allow methods with that exception to be trapped automatically
  • [TESTBOX-9] - setup() and teardown() receive the name of the method they are about to test as the 'currentMethod' argument.
  • [TESTBOX-10] - beforeEach() and afterEach() now receive the 'currentSpec' name of the currently executing spec.
  • [TESTBOX-11] - MXUnit compatibility with annotation 'mxunit:expectedException'
  • [TESTBOX-14] - MXUnit 'expectException()' method compatibility
  • [TESTBOX-19] - Ability to exclude test bundles from execution via the 'testBundles' argument or URL variable.
  • [TESTBOX-21] - AsyncAll argument to describe() blocks is now working to execute specs asynchronously
  • [TESTBOX-22] - AsyncAll for xUnit style testing is now working to execute tests asynchronously
  • [TESTBOX-23] - Discrete assertions added: isGT, isGTE, isLT, isLTE
  • [TESTBOX-24] - Discrete Expectations added: toBeGT, toBeGTE, toBeLT, toBELTE
  • [TESTBOX-25] - TestBox debug stream via debug() is now operational and MXUnit compatible with then some :)

Features At A Glance

  • Here are a simple listing of features TestBox brings to the table:
  • BDD style testing
  • xUnit style testing
  • Testing life-cycle methods
  • MockBox integration for mocking and stubbing
  • Ability to extend and create custom test runners
  • Ability to extend and create custom test reporters
  • Extensible reporters, bundled with tons of them:
  •     JSON
  •     XML
  •     JUnit 4 XML
  •     Text (80's style)
  •     Console
  •     TAP (Test Anything Protocol)
  •     Simple HTML
  •     Min - Minimalistic Heaven
  •     Raw
  • Asynchronous testing
  • Multi-suite capabilities
  • Test skipping
  • Suite skipping
  • Dynamic skipping support via runtime executions
  • Test one or more suites exclusively
  • Test one or more tests/specs exclusively
  • Test labels and tagging
  • Clickable suite titles to filter test execution
  • Direct MXUnit replacement
  • Much more!

Like with anything we do, it is completely documented in three separate guides:

  1. TestBox Complete Docs - Nerdy complete boring manual
  2. TestBox BDD Primer - Getting started with BDD
  3. TestBox xUnit Primer - Getting started with xUnit Testing

Finally, TestBox is also a direct drop-replacement for MXUnit as well.  

Add Your Comment

Recent Entries

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management


Opting for in-house database management involves more than just a salary. Here are some often-overlooked costs associated with maintaining your own DBA team.



1. High Salaries and Benefits


Hiring skilled DBAs is expensive. According to industry reports, the average salary of a DBA in the U.S. can range from $85,000 to over $130,000 per year, depending on experience and expertise. When you add ...

Cristobal Escobar
Cristobal Escobar
November 20, 2024
5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into y...

Cristobal Escobar
Cristobal Escobar
November 19, 2024
ColdBox Free Tip 5 - Building Named Routes with a Struct

ColdBox Free Tip 5 - Building Named Routes with a Struct

**Did you know ColdBox provides flexible ways to build routes using structs?** In this tip, we’ll cover how to use the `event.buildLink()` and `event.route()` methods for named routes, a feature that’s especially handy when working with dynamic URLs.

Maria Jose Herrera
Maria Jose Herrera
November 19, 2024