【问题标题】:Class level DeploymentItem and DataSource类级别的 DeploymentItem 和 DataSource
【发布时间】:2018-10-23 22:27:10
【问题描述】:

在我的TestClass 中,我有 6 种测试方法,对于每种测试方法,我使用相同的 DeploymentItem 和 DataSource。用每个TestMethod 定义每次都会在我的代码中创建大量冗余。是否有可能为完整的TestClass 定义一次? 我尝试了ClassInitialize 属性,但无法实现目标。以下是我的DataSource 和DeploymentItem 详细信息:

[DataSource("CurrencyInfoList_DataSource")]
DeploymentItem("CoreUnitTests\\CurrencyUnitTests\\CurrencyTestData.xlsx")]

【问题讨论】:

    标签: c# visual-studio-2010 unit-testing vs-unit-testing-framework


    【解决方案1】:

    在ClassInitialize 方法上使用DeploymentItem 属性不起作用。但是,您可以将其直接放在您的测试类中,如下所示:

    [TestClass()]
    [DeploymentItem("MyFileToDeploy.txt")]
    public class MyUnitTestClass
    {
    ...
    }
    

    我不确定DataSource 是否也有效。但可能确实如此。

    【讨论】:

      【解决方案2】:

      只需在您的测试设置中启用部署并将您需要的文件添加到设置中,而不是将它们添加到每个测试方法中。

      在此处查看有关如何实现该目标的更多详细信息 Do MSTest deployment items only work when present in the project test settings file?

      【讨论】:

      • 谢谢,但在我的情况下,当我点击“编辑测试设置”时,它会被禁用(没有可用的测试设置).. 有什么想法吗?
      • 创建一个测试设置文件并双击它
      猜你喜欢
      • 2013-05-21
      • 2021-06-20
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      相关资源
      最近更新 更多