关于c#:ResourceManager和单元测试

关于c#:ResourceManager和单元测试

ResourceManager and Unit Testing

我很好奇,是否有人在使用ResourceManager创建单元测试时遇到任何问题。 我正在使用Visual Studio测试版,似乎在测试过程中未加载附属程序集。 当我尝试获取另一种区域性的资源时,测试总是失败,并且资源管理器总是退回到默认区域性。 完全相同的代码在正常应用程序中可以正常运行。


那使我朝着正确的方向前进。将文件添加到部署配置中无济于事,但是禁用部署确实可行。

供将来参考,请访问此博客文章并向下滚动至"管理测试运行"部分,以获取有关创建测试配置以及如何禁用部署的详细信息。


如果您正在运行MSTest,并且想要访问非中性区域性之外的资源,则需要确保将特定区域性的附属程序集部署到解决方案文件夹中的测试目录中。

只需将此属性添加到您的单元测试中:

1
[DeploymentItem( @"de-DE\\AssemblyName.resources.dll","de-DE")]

这会将资源程序集部署到指定的区域性依赖子目录中的测试目录。

资源


过去,卫星装配也有类似的问题。尝试
将附属程序集添加到单元项目依赖项。在Visual Studio中
测试-编辑测试运行配置。选择部署并添加文件
这里。

在执行所有应用程序时,dll等将被复制到一个特殊目录。
强命名的dll可能会被忽略,因为它们应该在GAC中。


推荐阅读