2

我正在使用 selenium 在我们当前应用程序的 UI 上运行一些功能测试。

我想确保 Web 项目中资源文件中的字符串在正确的时间和地点显示。

简单(我认为)我所要做的就是引用 Web 应用程序的程序集,并断言从 UI 读取的文本 selenium 与相应资源文件中的测试相匹配。

问题是 ASP.Net 对资源文件进行了一些预编译处理并将它们编译成一个名为 App_GlobalResources 的程序集,该程序集不是由正常的构建过程创建的,因此功能测试失败,因为找不到要查找的 App_GlobalResources 程序集字符串从。

那么,有什么建议吗?我是否需要放弃 App_GlobalResources 方法并做一些我可以控制的手动操作?

您了解问题还是我需要提供更多信息?

4

2 回答 2

1

我的临时解决方案是使用 SVN:Externals 将 resx 文件的副本提取到测试项目中。

然后我可以通过

ResourceManager 资源 = new System.Resources.ResourceManager("My.Web.Namespace.resources.ImageUrls", Assembly.GetExecutingAssembly());

它很难看,因为我已经有了对 webproject 的引用(我现在可能可以删除它......)而且我不喜欢在项目之间混合源文件。感觉就像是自找麻烦,但除非有人提出更好的建议,否则必须这样做。

于 2008-12-18T02:06:02.490 回答
1

您是否考虑过将您的 GlobalResources 移动到一个单独的程序集中,然后从您的 Web 项目和测试项目中引用它?这在 VS 2008 中很容易做到,并且可以实现,但在 VS 2005 中有点困难。

我能够使用这种方法解决类似的问题。

于 2009-04-28T14:42:15.867 回答