0

我想读取一个模拟 RSS 提要文件以在 Android 应用程序的 Xamarin NUnit 测试中进行测试。测试类没有上下文,所以我不能将文件放在 Assets 文件夹中并执行以下操作:

System.IO.Stream strIn = instanceOfAssetManager.Open(feedFile);

它也没有祖先,所以我不能这样做:

System.IO.Stream strIn = this.Class.ClassLoader.ResourceAsStream(feedFile);

有什么建议可以让我找到快乐的东西吗?

这个案例解决了不同平台/设置的类似问题: Storing test files in the test project

4

2 回答 2

5

测试类没有上下文,所以我不能将文件放在 Assets 文件夹中并执行以下操作:

您是否有理由需要使用 Android 资产?通过设置文件的构建操作 以允许更大的可移植性来使用.NET 嵌入式资源——它存在于所有 .NET 平台上——并且巧妙地回避了 Android 上下文问题。EmbeddedResource

如果你需要使用 Android Assets,那么你可以使用Android.App.Application.Context属性,它等同于Context.ApplicationContext属性,除了静态且随处可用。

于 2013-10-08T13:02:36.190 回答
0

检查文件的属性。我必须将“构建操作”设置为 AndroidAsset 并且您可以使用instanceOfAssetManager.Open(feedFile);

于 2015-07-14T09:08:09.540 回答