我想弄清楚如何使用 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 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消