我正在开发Windows Phone / Store和Windows 10 UWP应用。我想了解什么是单元测试的一些好技术。
我有单元测试项目设置,我已经编写了一些单元测试。我正在使用CaliburnMicro框架,我已经设置了构造函数注入,这反过来帮助我进行单元测试,因为我已经定义了接口。
测试内部API是一种好习惯吗?例如,假设我有一项服务检查NetworkInfomation并给我适当的结果或电池检查服务?测试这些会不错?
此外,我还使用后台传输服务和后台任务。测试上传方案是否可行?
新的单元测试,所以任何帮助表示赞赏。
答案 0 :(得分:2)
我在代码中也使用了Caliburn.Micro,但我认为大多数MVVM框架的工作原理都不一样。我使用Moq作为我的一个模拟框架,它非常适合依赖注入。
Moq与Caliburn一起使用的问题是Caliburn使用了许多扩展功能,而Verify
很难实现尽可能摘要和avoid testing implementation details,简短的测试行为,并对网络信息和后台传输服务等实现细节进行抽象。
public class GolldysNetworkInfomation : INetworkInfomation
{
NetworkInfomation networkInformation;
}
public class SystemUnderTest
{
public SystemUnderTest(INetworkInfomation networkInfomation)
{
}
}
您现在可以使用INetworkInfomation
在单元测试期间模拟NetworkInfomation
,并允许您创建INetworkInfomation
的其他实现。
关于单元测试有两种思路:
您可以查看Classical vs Mockist方法以更好地理解。
希望这有帮助。