问题标签 [microsoft-fakes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 在编码的 UI 测试中使用 Microsoft.Fakes 框架
我正在为我的 Web 应用程序进行编码 UI 测试。试图隔离存储库方法调用,就像我在单元和集成测试中所做的那样,即使用 Microsoft.Fakes 框架。但是对于 UI 测试,Fake 似乎不起作用,因为仍然调用真正的方法而不是 shim。如果没有隔离 UI 测试会影响数据库(例如在测试注册过程时添加新用户),从而使其不可重用。所以想知道是否可以伪造/模拟这些方法并避免在每次我需要运行那些编码的 UI 测试时设置测试数据库和测试网站。
没有找到与此问题相关的太多有用信息,因此将不胜感激。
如果需要,这里是一个非常简单的示例的链接: https ://www.dropbox.com/s/m6les7pmto14njq/TestCodedUITest.zip 这是一个带有一个类库的 VS 2012 解决方案(包含一个带有方法的类,它只是抛出异常),一个 Web 应用程序(包含一个带有一个按钮的页面,它调用上述方法),最后一个编码的 UI 测试包含该方法的 shim 并简单地打开 IE,导航到页面并单击按钮。
unit-testing - 现在值得在 VS2010 中开始使用 Moles 吗?
我们正在考虑开始使用 Moles,因为我们发现自己在这里和那里创建了很多 Facades。
然后我在某处读到,Fakes 正在取代 VS2012 中的 Moles,并且它需要进行更改才能从一个基础架构迁移到新的基础架构。
我的问题是,当我们现在需要将测试从一个框架移植到新框架时,是否值得从 Moles 开始?在我们迁移到 VS2012 并且我们可以开始使用 Fakes 之前,移植工作是否足够大以继续使用 Facades?
visual-studio - 微软假货“不支持程序集”
我正在尝试为我在代码中引用的库添加一个 Fakes 程序集(在 Visual Studio 2012 Ultimate 中),以便我可以独立于库实现进行测试。我遇到的问题是,当我右键单击引用的程序集并单击“添加假货程序集”时,我收到以下消息:
“Assembly not supported Fakes 不支持此程序集。”
我试过用谷歌搜索这条消息,但如果我把它放在引号中,会得到 0 个结果,如果我不这样做,则没有任何相关性。我认为这很奇怪,因为您会期望其他人在某个时候遇到这个问题,但无论如何......
在放弃搜索消息后,我尝试搜索可能告诉我 Microsoft Fakes 支持哪些类型的程序集的地方,但这也证明是徒劳的。
我想我的问题是:有谁知道 Microsoft Fakes 支持/不支持哪些类型的程序集。
我已经包含了一些关于我引用的程序集的信息,以防有人知道为什么不支持这个程序集:-它是一个 COM 互操作程序集。- 它是一个 ActiveX 组件。- 它没有被强烈命名。
任何线索都将不胜感激。
microsoft-fakes - 使用 Fakes 程序集构建失败
我有一个简单的控制台应用程序,它依赖于结构映射程序集。然后,我将此控制台应用程序引用添加到我的测试项目中,并向其中添加假程序程序集会产生以下错误:
无法解析程序集“StructureMap,版本=2.6.1.0,文化=中性,PublicKeyToken=e60ad81abae3c223”。您是否缺少程序集参考?(任务编号:18)
有什么建议么?
c# - 如何通过 Microsoft Fakes 使用 ConcurrentDictionary (C#) 填充长外部依赖项?
在我需要测试的代码中发现了这样的外部依赖:
var something = GConfig.SConfig[Type.ServiceType1].Names;
这部分的代码是这样的:
我需要消除这种依赖,但我自己找不到完整的解决方案,只有部分:
对于 GConfigIt(和匀场名称):Fakes.ShimGConfigIt.AllInstances.NamesGet
对于匀场 SConfig:Fakes.ShimGConfig.AllInstances.SConfigGet
但我找不到连接,如何完全填充它。
PS 我只是一名测试人员,不能更改现有代码。为了进行更改,我需要说服开发人员这样做(即 GConfig 的额外接口),但他们必须确保这不仅仅是为了“轻松测试”或“测试测试”而进行的更改,他们确实需要这样做。
microsoft-fakes - MSBuild - 由于 dll Fakes 导致生成错误
配置:Visual Studio 2012 高级版 + 更新 2
嗨,我的 unitTest 项目使用了两个 Fake 程序集。其中一个程序集会产生构建错误,我真的不知道为什么。如果我把这个程序集取下来,编译就可以了。错误是“结果:发生意外异常(-1002 - 0xfffffc16)”
我看过其他一些有同样错误的帖子,但这是因为 Moles 组装。有人有解决这个问题的方法吗?
这是构建结果的一部分:
谢谢。
unit-testing - UnitTestIsolation 检测无法初始化。请重新启动 Visual Studio 并重新运行此测试
我的单元测试在线 shimscontext.create 失败。
错误是:UnitTestIsolation 检测未能初始化。请重新启动 Visual Studio 并重新运行此测试
根据现有帖子,我尝试安装 NUnit 适配器并尝试从测试资源管理器中运行它,但仍然没有运气。
对我做错了什么有任何评论吗?
谢谢
c# - 为什么 Fakes 不能从预建的 Fakes 项目中正确引用 Fakes dll?
我在尝试从单独的项目中引用mscorlib 假 DLL时遇到问题,如下所述。
我有许多 VS12 解决方案,我正在使用 MS Fakes 为其编写单元测试。根据以下 URL 中的建议,我决定为我的假 Dll 创建一个项目:Microsoft Fakes 中的代码生成、编译和命名约定。这个想法是伪造 DLL 的位置将被本地化,我不需要在我的测试项目中散布大量伪造的 DLL。(我将其称为普通假货库。)
在我当前的单元测试中,我使用来自PresentationCore
,System.Management
和System
. 但是,我使用的 System shims 实际上是 in mscorlib.dll
,更具体地说是 Convert (静态类)和 DriveInfo (密封类)。因为我只需要 mscorlib 中的这两个类(现在),所以我为 mscorlib 创建了以下 .fakes 文件:
对于 PresentationCore 和 SystemManagement,我有类似的 .fakes 文件,这些文件可以清除然后按名称添加类。
但是,在我的测试项目中,当我从我的 common fakes 库中添加 mscorlib.4.0.0.0.Fakes DLL 的引用时,使用 Convert 和 DriveInfo 垫片的测试不会运行。相反,测试方法会引发 Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException,命名不受支持的 shimmed 类。使用 PresentationCore 和 System.Management 功能的测试在引用通用假库时仍然有效。
但是,如果我在我的测试项目中直接(以及间接添加 mscorlib)为 System 添加 Fakes 程序集,请在我的测试项目中创建完全相同的 mscorlib.fakes 文件,并添加对本地mscorlib.4.0.0.0.Fakes Dll 的引用,即链接到常见假货库时引发异常的测试运行时不会出现故障。
我使用对象浏览器查看了 common fakes 库中的 mscorlib 伪造 DLL,并将其与本地构建的 DLL 进行了比较,它们似乎是相同的。
有谁知道为什么在 common fakes 库中引用 mscorlib fake 不起作用?
unit-testing - ShimSPWeb().LocaleGet 不可用?
我已经开始研究 VisualStudio 2012 中的新功能,您可以在其中添加虚假的 dll 程序集以进行单元测试。我正在使用 SharePoint 2010,现在我们都很难对依赖于 SharePoint API 的代码进行单元测试。
我为 Microsoft.SharePoint 添加了一个假程序集,效果很好,但我到了需要覆盖方法的地步SPWeb.Locale
。我以为这很容易。我以为会有一种方法,ShimSPWeb.LocaleGet
但没有。
Locale
这是我对我的唯一选择ShimSPWeb
简而言之:应该有一个shimWeb.LocaleGet
可用的。
visual-studio-2012 - 添加 Fakes Assembly 选项缺失
我正在尝试Microsoft Fakes
在我的解决方案中设置的单元测试项目中启动并运行。
由于某种原因,Add Fakes Assembly
缺少该选项,这意味着我无法创建程序集的模型。由于这是添加程序集的唯一选择,Microsoft.QualityTools.Testing.Fakes
我也不能使用该Shim
功能。
我最近安装Visual Studio 2012 Professional
并安装了更新 3,这是第一次进入Visual Studio 2012
. 而且我没有更改任何设置。虽然我已经安装了ReSharper
,但这可能是罪魁祸首吗?