代码之家  ›  专栏  ›  技术社区  ›  Carl Rippon

单元测试Silverlight中的私有函数

  •  2
  • Carl Rippon  · 技术社区  · 14 年前

    有人知道怎么测试吗 私有的 A函数 Silverlight单元测试项目 ?这个 *存取器 对象在正常的单元测试项目中似乎是可用的。

    4 回复  |  直到 14 年前
        1
  •  6
  •   sbenderli    14 年前

    不能对私有函数进行单元测试。您有3个选项:

    1. 你可以将这些功能“公开”并测试它们,
    2. 将它们设为“内部”并在程序集文件中添加internalsVisibleTo属性。
    3. 创建一个调用私有方法的公共或内部方法,并测试这些方法。

    单元测试通常是为了测试类与外部世界的接口。不建议使用单元测试专用方法。

        2
  •  1
  •   P.K    14 年前

    @sbenderli的回答是正确的。

    但是,我有 我对将私有方法作为内部方法进行单元测试的保留意见 . 使一个方法成为内部方法就像使它为该程序集公开一样。

    相反,更好的方法是使该方法受保护,并通过从被测试的类继承,然后创建一个调用受保护方法的公共方法,在测试程序集中创建一个虚拟类。现在测试伪类的公共方法。

        3
  •  0
  •   Duncan Bayne    14 年前

    如果您真正需要测试私有方法,那么您的体系结构在某种程度上已经被破坏了。

        4
  •  0
  •   jbtule    14 年前

    开源框架 Impromptu-Interface 能够使用DLR公开私有成员。此功能的单元测试正在Silverlight上传递。