我想弄清楚如何使用 NUnit 围绕隐式转换编写单元测试。到目前为止,我能够做到的唯一方法是创建一个静态函数,该函数将对象将转换为的类型作为参数并立即返回它。public class Foo{ public Foo(string name) { Name = name; } public string Name { get; set; }}public class Bar{ public Bar(string name) { Name = name; } public string Name { get; set; } public static implicit operator Foo(Bar bar) { return new Foo(bar.Name); }}[Test]public void BarToFooImplicitConversionTest(){ var bar = new Bar("FooBar"); var foo = ConvertBarToFooImplicitly(bar); foo.Name.Should().Be("FooBar");}private static Foo ConvertBarToFooImplicitly(Foo foo){ return foo;}NUnit 中是否有我遗漏的东西,或者是否有更好的方法来做到这一点?
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
只需使用显式类型而不是var触发隐式运算符,例如
[Test]
public void Should_be_possible_to_convert_bar_to_foo()
{
//Arrange
const string fooBar = "FooBar";
Bar bar = new Bar(fooBar);
//Act
Foo foo = bar;
//Assert
foo.Name.Should().Be(fooBar);
}
- 1 回答
- 0 关注
- 59 浏览
添加回答
举报
0/150
提交
取消