views:

69

answers:

1

Hi All,

I need a Continuous integration tool that will support both .Net Unit tests and Javascript unit tests and perform the builds.

It looks like my main options are CruiseControl.NET using JUnit and NUnit or Team City and JS Test Driver.

Are there any other options and which ones have you used or had good or bad experiences with.

thanks

+2  A: 

+1 for CC.Net here. I use a combination of CC.Net and NUnit & Selenium for UI testing. CC.Net allows you to do everything you require and it's a doddle to setup.

You can write custom modules to allow you to do things such as incremenet build numbers and modify config files on the build server.

You can happily use a combination of unit tests and Selenium to test the UI using a test such as the following:

[TestFixture]
public class UITest
{
    private ISelenium selenium;
    private StringBuilder verificationErrors;

    [SetUp]
    public void SetupTest()
    {
        selenium = new DefaultSelenium("server", 4444, "*iexplore", "http://server/");
        selenium.Start();
        verificationErrors = new StringBuilder();
    }

    [Test]
    public void TheUITest()
    {
        selenium.Open("/RecipeProfessor2/");
        selenium.Click("btnTest");
        selenium.Click("Button1");
        selenium.Click("ctl00_ctl06_toolBar_Home_Solve");
        selenium.Click("ctl00_ContentPlaceHolder1_chkIsLive");
        selenium.WaitForPageToLoad("30000");
        // etc
    }

}

You can obviously add in as many tests you require for either standard unit tests or UI tests.

GenericTypeTea
Will Selenium allow me to do UT's for both .NET and Javascript or is it purely fro UI testing?
SetiSeeker
Selenium is purely UI, but you can control it using standard unit tests (i.e. MS Unit Tests or NUnit). You can either write your own tests or you can generate them using a little FireFox plugin.
GenericTypeTea
Ok Now that is what I call Really Really wicked and cool!!!!! Thank you. Any thoughts about testing my javascript?
SetiSeeker
Never done it myself, however if you can make the JS testing an executable app, you can just add it to the tasks of your CC.Net project and it'll get executed along with your solution build and unit tests.
GenericTypeTea