New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Automation Testing of the Core - Frameworks

The Automation Test Project is well and truly underway now.  You can check out the progress we are making and the suite of tests that have been written to help with the Build Verification that now happens on every release here  These tests test a set of scenarios that we need to ensure work every release, hence they get executed on a very regular basis which is tedious if you have to do it manually every time.  If you check out the project you will see there are a number of installation scenarios, user management scenarios and page management scenarios.  We are continuously adding more tests each release so that eventually the whole of DNN (as much as possible anyway) will have a set of automation tests running on it.

The tests are written with the idea that we would like the community to be able to contribute their own tests to the project.  With that in mind the frameworks we chose to use in the testing project are free and able to be used with any version of Visual Studio.


There are several well known was to automate the testing of a web site via the actual web page.  Watin is one of the most popular and also fits into the DNN philosophy of using free and open source products where ever we can.  Watin is used to automate the clicking of buttons, filling in of text boxes etc so that the test simulates how a person interacting with the site.  When you run the tests an instance of IE is opened and you can watch as the various UI elements are clicked and filled out.  Watin is a mature product and there is lots of information on the internet to help test writers write the tests they need.  We also have the privilege of having Jeroen van Menen on the automation test team, Jeroen is the developer and main guy for Watin.  This means that we get top notch help from Jeroen when we need some insight into how best to setup our testing projects and how to test particular elements of DNN.


Although Visual Studio comes with the MSTest framework built in, it is not available in all versions of Visual Studio and hence this may stop some of our community members from being able to run the tests and also contribute tests to the project.   The testing framework we have chosen is MBUnit whica ccording to Scott Hanselman is “Unit testing on crack”. MBUnit is also a free product that you can get hold of from  The other part you need when running tests like this is to have a test runner, MBUnit comes with the Gallio test runner so even if you have Visual Studio Express you can easily run the tests and get great reports from Gallio. 


Gallio Icarus Test Runner with Build Verification Tests loaded.

If you have one the higher specced SKU’s of Visual Studio you can use the built in Test Runner and use the Test List Editor to manage which test are run in any particular session.


Test List Editor with Build Verification Tests loaded.


Gallio and MBUnit also have a ReSharper plugin so you can run the tests directly from the code window or you can create a test session and run them from there.


ReSharper test runner markings.


ReSharper Test Sessions

Please check out the project on CodePlex and start writing your own tests.  If you write a test please send it in so we can incorporate it into the project and gain more coverage of DNN.


Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out