3

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

string GetStringFromFile(StorageFile storageFile);

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

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

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

4

2 回答 2

5

该类StorageFile实现了一个接口IStorageFile,因此您应该将依赖项更改为该接口,然后您可以使用模拟或存根(如果您不能使用 Moq 等,可能是您创建的类)。

于 2012-12-29T20:39:43.327 回答
0

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

于 2012-12-29T20:40:28.470 回答