English 中文(简体)
Fixture.Create Anonymous methods dies testprner process with a mis (AutoFixture) when using AutoMoq to establish a Chief
原标题:Fixture.CreateAnonymous method kills test runner process with an error (AutoFixture) when using AutoMoq to create a Controller

I m 试图利用“自主管理”来创建伙伴关系。 NET MVC2 主计长通过支票进行单位测试。 建立匿名方法。 我在两艘大学接受测试。 NET、XUnit测试 GUI和MS 测试结果相同:测试过程严重失败。 视窗7×64,如果是的话。

为了复制,简单地建立一个新的伙伴关系。 NET MVC2项目,加上“自主工程”、“自主工程”和“Moq”项目(按照“自主工程”来源计算为3.1)的内容,并尝试如下项目(下文再提供VS2010 MVC2项目链接):

[TestMethod]
public void Index()
{
 var fixture = new Fixture().Customize(new AutoMoqCustomization());
    // here s where the error in the test host occurs:
 HomeController controller = fixture.CreateAnonymous<HomeController>();
}

在“管理系统试验”中,错误如下:

操作时间遇到了一个致命错误。 该错误的地址为0x6465f370,正值 0x2684。 错误代码为0xc0000005。 这一错误可能是《刑法》或用户法典中不安全或不可核查部分的错误。 这一丑闻的共同来源包括COM-interop或PInvoke的用户破碎错误,这些错误可能腐蚀.。

AfWithMvc repro项目(从天空出发)

最佳回答

www.un.org/Depts/DGACM/index_spanish.htm 建议的解决办法

从可能的解决办法开始,这应当停止坠毁:

var fixture = new Fixture().Customize(new AutoMoqCustomization());
// This should fix the problem for all Controllers
fixture.Customize<ViewDataDictionary>(c =>
    c.Without(x => x.ModelMetadata));

HomeController controller = fixture.CreateAnonymous<HomeController>();

<>Explanation>

现在解释:

这一测试错误是由于试图将价值分配到<代码>的“AutoProperties特征”造成的。 HomeController.ViewData.ModelMetaData。 模型MetaData级有这一构造者:

public ModelMetadata(
    ModelMetadataProvider provider,
    Type containerType,
    Func<object> modelAccessor,
    Type modelType,
    string propertyName)

The culprit here is the modelAccessor para amount. 填充该财产(无意识地)反映该类型,并找到该单一构造者:

public Func(object @object, IntPtr method)

此外,第一部IntPtr Constructionor AutoFixture能够满足以下要求:

public unsafe IntPtr(int value)

在32个案例中,由定型上升的序列生成,因此,<代码>> 值/代码>在这种情况下可能为1或2或类似的小群。 换言之,我们现在手上有一个“完全无效的不安全的点子”,这正在使这一进程崩溃。

现在,在正常情况下,我们应当能够通过登记“;object>和“Fixture”加以确定,而且一切都应当做到:

fixture.Register<Func<object>>(() => () => new object());

然而,我以你的赞扬为尝试了这项工作,尽管该进程不再以同样的方式坠毁,但试验时间很长,最后是用外派外派的外派。

我不知道伙伴关系的内容。 NET MVC与Func<object>有关,但显然使用该编码相当高。

问题仍然是这是否是“自治”的ug?

我认为,这是.。 虽然这肯定不理想,但自治政府却以不同于其他类型的方式对待富人或行动,这就是为什么我们看到这种行为。

这种特殊行为可能通过增加对<代码>Func<TResult>的具体支持加以解决,但为了保持一致,还应支持<代码>Func<T, TResult>Func<T1,T2, TResult>,等。

但是,在他们的建筑中,所有其他类型究竟是什么? “自治”可能知道所有这些,因此似乎不是一种可行的方向。

但是,它是什么? a guard,防止它首先在上制造IntPtr事例。 这很可能在2.0RTW之前增加。

感谢你报告这一情况。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签