【问题标题】:MS UnitTest - Private Accessor not always recognizedMS UnitTest - 私有访问器并不总是被识别
【发布时间】:2010-09-30 08:53:46
【问题描述】:

并非所有项目都会出现此问题,因此更令人沮丧。

如果我单击私有方法来创建单元测试,它将生成一个 TestProject 程序集并在其中创建一个预定义的类。它还将为该类创建一个访问器。

[TestMethod()]
        [DeploymentItem("xxx.Client.dll")]
        public void PopulateIncomeCostsDataSetTest()
        {
            CashFlowOperations_Accessor target = new CashFlowOperations_Accessor(); // TODO: Initialize to an appropriate value
            CashflowModel cashflowModel = null; // TODO: Initialize to an appropriate value
            CashflowDataSet ds = null; // TODO: Initialize to an appropriate value
            target.PopulateIncomeCostsDataSet(cashflowModel, ds);
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }

只要我为库程序集 (dll) 中的私有方法创建此单元测试,一切都很好,但如果我为 [DeploymentItem("xxx.exe")] 是可执行文件的控制台应用程序创建它,我的访问器将保持红色并且我无法访问该访问器的内部私有方法。

【问题讨论】:

    标签: .net unit-testing


    【解决方案1】:

    我不知道这是否有帮助(我无法重现您的错误),但在 Local.testsettings 中有一个启用部署的选项。

    • 从解决方案项中打开 Local.testsettings
    • 在列表框中选择“部署”项
    • 选中“启用部署”

    这必须在您可以在应用程序而不是库中进行单元测试之前完成

    【讨论】:

    • 感谢您的回复。我只是仔细检查了它,它已经检查过了。我不知道为什么会这样。 :(
    【解决方案2】:

    这似乎是 Visual Studio 中的一个错误。这可能发生在 VS 2088 甚至 VS 2010 中。VS 2010 的 SP1 为我解决了这个问题。希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多