DeploymentItemAttribute不起作用(正确)

时间:2014-01-31 13:01:59

标签: c# database unit-testing

我有一个Unit-TestClass。为了测试一些我需要数据库访问的函数,我在TestClassAttribute之后直接在类的头部定义了DeploymentItemAttribute。

由于某些原因,运行Testclass显示了非常不同的beheaivor,具体取决于我是否运行了我的TestProject的所有测试,或者通过按STRG + R,T来测试此单位。

通过使用CTRL + R,T,该类的所有测试都将成功。通过运行testproject的所有测试,它们将失败,因为它们找不到该文件。通过右键单击解决方案资源管理器中的Testclass并单击“Run Unit-Tests”,它们也将失败。

我正确配置了文件。它将“永远复制”。 更奇怪的是,在测试配置中切换deployment-flag也会反转结果。

1 个答案:

答案 0 :(得分:1)

依靠我的记忆,我可以通过使用CTRL+R, T来调用默认的Microsoft测试运行器,该测试运行器可以按预期处理DeploymentItemAttribute当你说:

  

通过运行testproject的所有测试,它们将失败,因为它们无法找到该文件。通过右键单击解决方案资源管理器中的Testclass并单击“Run Unit-Tests”,它们也将失败。

我更确定这些命令是由ReSharper提供的,因此测试是使用ReSharper的测试运行器运行的,该测试运行器在过去had issues with this attribute

至于此问题的解决方案,有一些提及herehere,但它们可能取决于ReSharper的版本,因此您可能想要针对您的特定版本进行谷歌搜索。