C#以StorageFile作为参数的测试方法

时间:2012-12-29 20:35:29

标签: c# mocking windows-runtime nunit .net-4.5

首先,这是一个 Microsoft Store winrt库,我正在尝试使用此签名测试公共方法:

string GetStringFromFile(StorageFile storageFile);

但是StorageFile没有构造函数,所以我无法在我的NUnit测试代码上创建它。另外,我想我不能在WinRt上使用Moq或任何其他Mocking库。

我一直在寻找从IStorageFile接口创建一个手工制作的假,但它里面有很多方法,我再次强调了另一个深层属性指出了没有公共构造函数的StorageFile内的clases例如ImageProperties

那么......使用StorageFile和/或ImageProperties类测试方法的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

StorageFile类实现了一个接口IStorageFile所以你应该改变你的依赖关系,然后你可以使用一个模拟或存根(如果你不能使用Moq等,可能是你创建的一个类)

答案 1 :(得分:0)

假设这个方法是你的一个,而不是另一个你无法控制的库中的东西;我会更改签名,因此参数是IStorageFile类型而不是具体类。然后,您可以为测试创建它,但在应用程序中使用真正的StorageFile。