单元测试不会在VS2013下执行

时间:2014-07-07 10:06:39

标签: unit-testing visual-studio-2013

我的解决方案中有许多单元测试在VS2013下无法执行。它们都会在以下行中生成错误消息:

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", @"|DataDirectory|\Scheduler\Test Projects\Intra-Matrix Scheduler Tests\TestData\ScheduledDate_AbsoluteDates.xml", "test-record", DataAccessMethod.Sequential)]       public void MatrixUserTaskScheduledDate_GetNextConcreteDateTimeForAbsoluteDates_CanSuccessfullyGetDate() 
  

UTA049:   Intra_Matrix_Scheduler_Tests.MatrixUserTaskScheduledDateTests.MatrixUserTaskScheduledDate_GetNextConcreteDateTimeForAbsoluteDates_CanSuccessfullyGetDate   具有无效的DataSource属性。 DataSourceSettingName或   必须指定ConnectionString和TableName,且不能为空。

这在VS2008中不是问题。我不明白为什么应该生成错误 - 连接字符串和表名都在那里,而intellisense似乎证实了这一点。

任何人都可以提出错误的建议吗?我们有相同问题的数百个测试,所有这些测试都在VS2008下非常愉快。

TIA

1 个答案:

答案 0 :(得分:1)

您似乎已经从VS2008升级到VS2013,我猜测项目升级过程出了问题。我注意到如果我在VS2013中创建一个新的单元测试项目,它会在项目文件中添加一些“Microsoft.VisualStudio.TestTools”相关内容。

(实际上我不需要那些东西,因为我正在使用NUnit,但无论如何......)

解决这个问题的方法是在您的解决方案中创建一个全新的单元测试项目,并为其添加一个失败的测试。如果它通过了你的新测试项目,那么你知道你的旧项目有点狡猾。在这种情况下,您应该将所有测试移动到新项目中,或者找出两个.csproj文件之间的不同之处,并将该更改应用于旧项目。