Some new functionality just managed to get into DXperience v2009 vol.2 under the code freeze wire: functional testing in XAF. In fact it was so close and so new, we haven't got that much documentation for it yet. So, the decision was between, eh, tough, nice try guys, but don't tell anyone and keep it out until v2009.3, or, keep it in and document as we go. Guess which path we're taking?
Welcome to EasyTest for XAF: a test framework that does functional testing for XAF applications.
The big idea here was to create a very simple and easy-to-use framework for testing the multi-platform XAF applications you write. We aimed for functional testing, that is, testing of the overall functionality of the application rather than the unit testing of single methods and the like. Furthermore, since XAF can create WinForms and ASP.NET applications, our goal was to be able to test both platforms with one tool rather than have a separate "WinForms" testing tool and an "ASP.NET" testing tool. Another goal was to allow the QA team to create tests, rather than the developers, and to support this you can run EasyTest tests standalone, rather than in Visual Studio (which is what I'll talk about here).
With some bribes of pizza and beer, we got some help from the CodeRush team to fully integrate EasyTest into Visual Studio so that you can do things like run (and stop) tests and even step through XAF tasks and actions.

(Note: the pane on the left shows the test script being executed. We'll talk about the grammar of the script commands in a later post.)
Not only that, but EasyTest also supports breakpoints:

While an application is being tested, EasyTest provides the actions that you've already specified and the application runs on its own.

At the moment, the logging facilities are pretty simple too: test messages and warnings are posted to the Output window in Visual Studio:

Although I stated above that we didn't have much documentation yet, we are certainly in the process of writing it for the release. For such a feature though, it makes sense to continue to blog about it and explain its evolution, why we did it, how simple it is to use and run. So, please stay tuned as we explain more about functional testing in XAF, about test scripts, and about the standalone testing app.
Free DevExpress Products – Get Your Copy Today
The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the
DevExpress Support Center at your convenience. We’ll be happy to follow-up.