使用TDD摩尔,HttpWebRequest的(Using Moles for TDD with H

2019-07-02 19:51发布

我使用与VS2010 SP1(也安装在同一台机器上VS2012)。 摩尔1.0项目使用.NET 4我加痣装配到System.dll中,并获得编译如下错误

错误46的类型或命名空间名称IReadOnlyList'不命名空间中存在 'System.Collections.Generic'(是否缺少程序集引用?)[C:\ Test中\ OBJ \调试\摩尔\ S \ mgcsproj] C: \测试\测试的MGC

IReadOnlyList .NET 4.5,据我所知。

任何人有这个问题?

Answer 1:

更新的解决方案我能得到Pex公司在2010年与VS安装了.NET Framework 4.5上运行。 也许其他人解释说,这是解决办法,但我的问题(即新的去痣和PEX)是很多的解释是模糊的。 由于这些职位,因为他们让我在正确的方向前进的作者:

http://feherzsolt.wordpress.com/2013/02/13/moles-and-net-4-5/

http://www.daedtech.com/using-moles-with-the-system-assembly

因此,解决办法是在那的Pex创建的yourAssemblyUnderTest.moles文件,并添加以下的文件的同一级别创建的测试项目中的新.moles文件(System.moles)。

<Moles xmlns="http://schemas.microsoft.com/moles/2010/">
    <Assembly Name="System" ReflectionOnly="true" />
</Moles>

您可能必须清除(或手动删除OBJ文件夹的内容),并重新但是这种解决方案为我工作。 我还注意到,第一个构建将报告编译错误,但这些错误会消失在后续版本。

替代的解决方案 ,我知道这是不是解决方案,但它是一个(差)的解决方法,让Pex的运行...加上这是太长了评论。 如果有人知道如何让PEX与4.5 .Net框架的机器上运行请回复。

这是我的情景。 我有一台机器与.NET Framework 4.5和我有Visual Studio 2010和2012安装。 我安装的Pex(en_visual_studio_2010_pex_0.94.51023.0_power_tools_x64_598803.exe),可以在该所针对的.Net框架4.0 VS 2010项目运行的Pex。 我可以运行的Pex和它发现的问题......但一旦我提拔问题,单元测试,因为下面的生成错误的单元测试项目将不会编译

The type or namespace name 'IReadOnlyList' does not exist in the namespace 'System.Collections.Generic' (are you missing an assembly reference?)

一番搜索和读取的Pex或痣与4.0版本替换4.5 .NET Framework程序集后,我决定卸载4.5,安装4.0,并给它一试。 运行在4.0工作得很好,我没有需要定义鼹鼠式过滤器才能正常工作。 然后我试图尝试再次升级到4.5框架......但遗憾的是我最终又回到原点,我开始与IReadOnlyList命名空间的问题。



文章来源: Using Moles for TDD with HttpWebRequest
标签: moles