【问题标题】:Unit testing in Windows phone/store appsWindows 手机/商店应用程序中的单元测试
【发布时间】:2016-04-17 21:58:04
【问题描述】:

我正在开发 Windows Phone/Store 和 Windows 10 UWP 应用。我试图了解哪些是单元测试的好技术。

我有单元测试项目设置,并且我已经编写了一些单元测试。我正在使用 CaliburnMicro 框架,并且我已经设置了构造函数注入,这反过来又帮助我进行单元测试,因为我定义了接口。

测试内部 API 是一种好习惯吗?例如,假设我有一项检查 NetworkInfomation 并为我提供适当结果的服务或电池检查服务?测试这些会很好吗?

另外,我也使用后台传输服务和后台任务。测试上传场景是否可行?

单元测试的新手,所以任何帮助表示赞赏。

【问题讨论】:

    标签: c# unit-testing windows-phone-8.1 caliburn.micro caliburn


    【解决方案1】:

    我还在我的代码中使用 Caliburn.Micro,但我认为大多数 MVVM 框架的工作方式相同并不重要。我将Moq 用于我的模拟框架,该框架非常适合依赖注入。

    Moq 与 Caliburn 结合的问题是 Caliburn 使用了很多扩展功能,这很难Verify

    尽可能抽象avoid testing implementation details,简而言之测试行为并对NetworkInfomation和Background Transfer Service等实现细节进行抽象。

    public class GolldysNetworkInfomation : INetworkInfomation
    {
       NetworkInfomation networkInformation;
    }
    
    public class SystemUnderTest
    {
        public SystemUnderTest(INetworkInfomation networkInfomation)
        {
        }
    }
    

    您现在可以在单元测试期间使用INetworkInfomation 模拟您的NetworkInfomation,并允许您创建INetworkInfomation 的其他实现。

    关于单元测试有两种思想流派:

    1. 古典
    2. 模仿者

    你可以看看Classical vs Mockist的方法更好的理解。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      相关资源
      最近更新 更多