jco*_*ran 7 .net c# autofixture
我们有一个枚举:
enum Letters
{
A,
B,
C,
D,
E
}
Run Code Online (Sandbox Code Playgroud)
当我尝试:
var frozenLetter = fixture.Freeze(Letters.D);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,frozenLetter == A.
var letter = fixture.Create<Letters>();
var anotherLetter = fixture.Create<Letters>();
Run Code Online (Sandbox Code Playgroud)
Letter和anotherLetter都等于A,所以Letters类型已被冻结,但是枚举中的第一个常量而不是指定的那个.
有没有办法将枚举冻结到我希望的常量?
Freeze Inject并Register 略有不同.
使用Inject所描述的行为,如下面的测试表明:
[Fact]
public void Test()
{
var fixture = new Fixture();
var expected = Letters.D;
fixture.Inject(expected);
var letter = fixture.Create<Letters>();
var anotherLetter = fixture.Create<Letters>();
Assert.Equal(expected, letter);
Assert.Equal(expected, anotherLetter);
}
Run Code Online (Sandbox Code Playgroud)
问题的示例代码的问题是参数(种子) 不用作冻结值.
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |