views:

293

answers:

1

I have a few tests that need to be fed with external data from excel files. The files are included in the test project, and in Visual Studio, I have edited the test settings file (Local.testsettings) to deploy the data files. This makes it work fine i VS.

We are, however, also running continous integration with TeamCity, and in TeamCity this doesn't work. My data files are unavailable to the test. Seems that the tests are run from a temporary folder named "C:\TeamCity\buildAgent\temp\buildTmp\ciuser_AS40VS6 2009-12-11 09_40_17\Out", and the data files are not copied there.

I have tried changing the build action for the data files to "Resource" and setting copy to output dir to "Always", but that didn't help.

Does anyone know how to make this work?

I am running Visual Studio 2010 beta 2 and TeamCity 4.5.5, which is why I'm running MSTest in the first place, and not NUnit...

+4  A: 

I get round this by adding my data files (in my case usually XML) as embedded resources and I extract them from the test assembly.

    [TestInitialize]
    public void InitializeTests()
    {
        var asm = Assembly.GetExecutingAssembly();
        this.doc = new XmlDocument();
        this.doc.Load(asm.GetManifestResourceStream("TestAssembly.File.xml"));
    }

Kindness,

Dan

Daniel Elliott
Sounds like a plan, I'll try it right away!Thanks!
Johan Driessen
No problem, glad to help!
Daniel Elliott
Worked fine. Should have thought of it myself. :-)Thanks a lot for the quick answer!
Johan Driessen