|
2
|
| ZeroBugBounce · 技术社区 · 15 年前 |
|
|
1
4
建议的解决方案 要从一个可能的解决方案开始,应该停止崩溃:
解释
此测试错误是由AutoFixture的
自动属性
尝试为其赋值的功能
罪魁祸首是
进一步挖掘,第一个IntPtr构造函数AutoFixture可以满足的是:
默认情况下,
Int32 instances are created by a deterministic rising sequence
,所以
现在,在正常情况下,我们应该可以通过注册
但是,我用您的repro尝试了这个方法,虽然这个过程不再以同样的方式崩溃,但是测试运行了很长时间,最后以OutOfMemoryException崩溃。
我不知道是什么ASP.NETMVC与
问题是这是否是AutoFixture中的一个bug? 我相信不是这样的。虽然它确实不太理想,但AutoFixture对待函数或动作与其他类型没有任何不同,这就是为什么我们看到这种行为。
可以通过添加对
但是其他所有在构造函数中使用IntPtr的类型呢?AutoFixture不可能知道所有这些,所以这似乎不是一个可行的方向。 然而,它是什么 能够 有是一个 guard that prevents it from attempting to create IntPtr instances in the first place . 这很可能会添加到2.0 RTW之前。
|