我有一个Unit-TestClass。为了测试一些我需要数据库访问的函数,我在TestClassAttribute之后直接在类的头部定义了DeploymentItemAttribute。
由于某些原因,运行Testclass显示了非常不同的beheaivor,具体取决于我是否运行了我的TestProject的所有测试,或者通过按STRG + R,T来测试此单位。
通过使用CTRL + R,T,该类的所有测试都将成功。通过运行testproject的所有测试,它们将失败,因为它们找不到该文件。通过右键单击解决方案资源管理器中的Testclass并单击“Run Unit-Tests”,它们也将失败。
我正确配置了文件。它将“永远复制”。 更奇怪的是,在测试配置中切换deployment-flag也会反转结果。
答案 0 :(得分:1)
依靠我的记忆,我可以通过使用CTRL+R, T
来调用默认的Microsoft测试运行器,该测试运行器可以按预期处理DeploymentItemAttribute
。
但当你说:
通过运行testproject的所有测试,它们将失败,因为它们无法找到该文件。通过右键单击解决方案资源管理器中的Testclass并单击“Run Unit-Tests”,它们也将失败。
我更确定这些命令是由ReSharper提供的,因此测试是使用ReSharper的测试运行器运行的,该测试运行器在过去had issues with this attribute。
至于此问题的解决方案,有一些提及here和here,但它们可能取决于ReSharper的版本,因此您可能想要针对您的特定版本进行谷歌搜索。