Ultimamente mi è capitato di dover migrare parecchi progetti di test da NUnit a VSTS per poterli integrare in TFS 2008 e visto che ci sono molti siti in inglese e nessuno in italiano, annoto qui la procedura da seguire:
- Selezionare il progetto, tasto destro del mouse, Unload Project
- Edit Project
- Aggiungere al file: <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- Salvare
- tasto destro del mouse, Reload Project
- Aggiugnere la seguente reference al progetto: Microsoft.VisualStudio.QualityTools.UnitTesting.Framework
- Cambiare gli using di NUnit.Framework declaratives con Microsoft.VisualStudio.QualityTools.UnitTesting.Framework;
- Convertire gli attributi di NUnit a quelli di VSTS:
- [TestFixture] --> [TestClass]
- [TestFixtureSetUp] --> [ClassInitialize]
- [TestFixtureTearDown] --> [ClassCleanup]
- [SetUp] --> [TestInitialize]
- [TearDown] --> [TestCleanup]
- [Test] --> [TestMethod]
- Aggiugnere il TestContext alla classe di test: public TestContext TestContext { get; set; }
- Sistemare gli eventuali metodi di Assert o CollectionAssert non presenti nelle classi VSTS.
Esistono anche altri metodi come l’utilizzo di alias negli using, però a me sembra più pulito così ….. questione di gusti.
Certo che buona parte di queste azioni è facilmente automatizzabile … … forse una bella Guidance fatta con GAX/GAT non guasterebbe, tipo quella che avevano inserito nell’EntLib 3.1 per firmare gli assembly di una solution facilmente … Quasi quasi un progettino Codeplex potrebbe saltarci fuori.