Windows phone/store 个应用中的单元测试
Unit testing in Windows phone/store apps
我正在开发 Windows Phone/Store 和 Windows 10 UWP 应用程序。我试图了解什么是单元测试的好技巧。
我已经设置了单元测试项目,并且编写了一些单元测试。我正在使用 CaliburnMicro 框架,我有设置构造函数注入,这反过来帮助我进行单元测试,因为我定义了接口。
测试内部 API 是一种好习惯吗?例如,假设我有一项检查 NetworkInfomation 并给我适当结果的服务或电池检查服务?测试这些会好吗?
此外,我还使用后台传输服务和后台任务。测试上传场景是否可行?
单元测试的新手,非常感谢您的帮助。
我也在我的代码中使用 Caliburn.Micro,但我认为大多数 MVVM 框架的工作方式相同并不重要。我将 Moq 用于我的模拟框架,它非常适合依赖注入。
Moq 与 Caliburn 结合使用的问题是 Caliburn 使用了很多扩展功能,这些功能很难甚至不可能 Verify
尽可能抽象 avoid testing implementation details,简而言之,测试行为并对实现细节(例如 NetworkInfomation 和后台传输服务)进行抽象。
public class GolldysNetworkInfomation : INetworkInfomation
{
NetworkInfomation networkInformation;
}
public class SystemUnderTest
{
public SystemUnderTest(INetworkInfomation networkInfomation)
{
}
}
您现在可以在单元测试期间使用 INetworkInfomation
来模拟您的 NetworkInfomation
,并允许您创建 INetworkInfomation
的其他实现。
关于单元测试有两种思想流派:
- 经典
- 模仿者
您可以查看 Classical vs Mockist 方法以更好地理解。
希望这对您有所帮助。
我正在开发 Windows Phone/Store 和 Windows 10 UWP 应用程序。我试图了解什么是单元测试的好技巧。
我已经设置了单元测试项目,并且编写了一些单元测试。我正在使用 CaliburnMicro 框架,我有设置构造函数注入,这反过来帮助我进行单元测试,因为我定义了接口。
测试内部 API 是一种好习惯吗?例如,假设我有一项检查 NetworkInfomation 并给我适当结果的服务或电池检查服务?测试这些会好吗?
此外,我还使用后台传输服务和后台任务。测试上传场景是否可行?
单元测试的新手,非常感谢您的帮助。
我也在我的代码中使用 Caliburn.Micro,但我认为大多数 MVVM 框架的工作方式相同并不重要。我将 Moq 用于我的模拟框架,它非常适合依赖注入。
Moq 与 Caliburn 结合使用的问题是 Caliburn 使用了很多扩展功能,这些功能很难甚至不可能 Verify
尽可能抽象 avoid testing implementation details,简而言之,测试行为并对实现细节(例如 NetworkInfomation 和后台传输服务)进行抽象。
public class GolldysNetworkInfomation : INetworkInfomation
{
NetworkInfomation networkInformation;
}
public class SystemUnderTest
{
public SystemUnderTest(INetworkInfomation networkInfomation)
{
}
}
您现在可以在单元测试期间使用 INetworkInfomation
来模拟您的 NetworkInfomation
,并允许您创建 INetworkInfomation
的其他实现。
关于单元测试有两种思想流派:
- 经典
- 模仿者
您可以查看 Classical vs Mockist 方法以更好地理解。
希望这对您有所帮助。