我正在将我的测试移植到AutoFixture 2.0,并且我遇到了一些我无法解释或解决的奇怪行为.这个简单的测试对我失败了:
var autoFixtures = new Fixture();
var file = autoFixtures.Build<File>()
.With(f => f.Name, "bleh.txt")
.CreateAnonymous();
Assert.That(file.Name, Is.EqualTo("bleh.txt")); // Fail?!
Run Code Online (Sandbox Code Playgroud)
如果我Name改为另一个属性,测试成功File,这导致我认为我有一些自定义存在,Name因为当我使用AutoFixture 1.0时,该工作无效.不过,我已经搜索过我的代码了,我找不到那样的东西.
启用跟踪似乎没有多大帮助.
autoFixtures.Behaviors.Add(new TracingBehavior());
Run Code Online (Sandbox Code Playgroud)
显示,以及其他东西:
Requested: System.String Name
Requested: Ploeh.AutoFixture.Kernel.SeededRequest
Created: Ploeh.AutoFixture.Kernel.NoSpecimen
Requested: Ploeh.AutoFixture.Kernel.SeededRequest
Requested: System.String
Created: Ploeh.AutoFixture.Kernel.NoSpecimen
Requested: System.String
Created: 8a022fda-fa4e-49b7-b0c2-285fef765386
Created: Name8a022fda-fa4e-49b7-b0c2-285fef765386
Created: Name8a022fda-fa4e-49b7-b0c2-285fef765386
Run Code Online (Sandbox Code Playgroud)
FWIW Name被声明为File基类的虚拟属性,然后被覆盖File:
public abstract class Item
{
public virtual string Name { get; set; }
...
}
public class File : Item
{
public override string Name { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
如果有人对我可能会尝试的事情有任何想法,或者某个地方我可能无意中定制了该Name物业的行为,我将非常感激!
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |