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

fer*_*ega 3 c# nunit mocking windows-runtime .net-4.5

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

string GetStringFromFile(StorageFile storageFile);
Run Code Online (Sandbox Code Playgroud)

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

我一直在寻找从 IStorageFile 接口创建一个手工制作的假货​​,但它内部有很多方法,我再次坚持另一个深层属性,指出内部没有公共构造函数的类,StorageFileImageProperties示例所示。

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

Tre*_*ley 5

StorageFile类实现一个接口IStorageFile所以你应该改变你的依赖这一点,你就可以使用一个模拟或存根(创建,如果你不能使用起订量等可能的类)。