Je rencontre des problèmes pour configurer mes tests unitaires afin d'utiliser une source de données Excel .xlsx.Problème de tests unitaires pilotés par les données
Mon fichier App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</configSections>
<connectionStrings>
<add name="TestData" connectionString="Dsn=Excel Files;dbq=TestData.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc" />
</connectionStrings>
<microsoft.visualstudio.testtools>
<dataSources>
<add name="GetAllCellNamesTest" connectionString="TestData" dataTableName="GetAllCellNamesTest$" dataAccessMethod="Sequential"/>
</dataSources>
J'ai vérifié qu'il est de trouver TestData.xlsx
, et il y a une feuille nommée GetAllCellNamesTest
.
Dans ma classe de test unitaire, j'ai la configuration suivante:
[TestMethod()]
[DeploymentItem("TestProject\\TestData.xlsx")]
[DataSource("GetAllCellNamesTest")]
public void GetAllCellNamesTest()
{
// ... test code
TestData.xlsx
est copié dans le répertoire des résultats des tests et tous les tests unitaires qui ne tentent pas de faire référence à la source de données sont de passage.
Cependant, celui-ci test échoue avec le message suivant:
The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.
Error details: ERROR [42S02] [Microsoft][ODBC Excel Driver] The Microsoft Access database engine could not find the object 'GetAllCellNamesTest$'. Make sure the object exists and that you spell its name and the path name correctly. If 'GetAllCellNamesTest$' is not a local object, check your network connection or contact the server administrator.
Je ne suis vraiment pas sûr où dans ma configuration est mal, je suivais cette procédure pas à pas sur MSDN pour obtenir la configuration: Walkthrough: Using a Configuration File to Define a Data Source. Notez que j'ai changé la version section
en 10.0.0.0
parce que j'utilise .net 4.0 (par la note au bas de la page).
éditer: oh, et tous les fichiers sont situés localement sur mon ordinateur.
C'est l'une des raisons pour lesquelles je préfère NUnit et xUnit sur MSTest. Travailler tout en code, avec [TestCase] ou [Theory] est beaucoup plus pratique. – Mathias