使用StorageFile作为参数的c#测试方法



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

string GetStringFromFile(StorageFile storageFile);

但是StorageFile没有构造函数,所以我不能在我的NUnit测试代码中创建它。此外,我认为我不能在WinRt上使用Moq或任何其他mock库。

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

所以…用StorageFile和/或ImageProperties类测试方法的最佳方法是什么?

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

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

相关内容

  • 没有找到相关文章

最新更新