-1
可以說我有這樣的嘲諷代碼第一實體框架的實體
public class FooEntity
{
private BarEntity Bar;
public void DoSomething()
{
var result = Bar.DoSomethingElse();
if (result)
DoThis();
else
DoThat();
}
private void DoThis() { }
private void DoThat() { }
}
我試圖測試FooEntity類。從單元測試的角度來看,我想模擬BarEntity並提供測試結果,因爲我沒有測試BarEntity。
我看過的每個模擬框架似乎都需要mock接口。最後我檢查了不支持在Entity Framework中將接口用作導航屬性。我得到,我可以添加一個未映射的屬性到我的接口類型的實體並使用它。這樣做似乎有點麻煩,只是爲了滿足一些測試。
有沒有更好的方法?
如果Foo是一個EF實體,我會保持簡單。沒有方法。 – mayu
什麼設置吧? – mayu
@mayu:這就是我的奮鬥目標。我一直保留由字段,getter和setter組成的實體(Java) - 沒有任何方法。我以這種方式看到的大多數代碼幾乎沒有領域模型。有些服務類只是操縱實體的屬性。我試圖向實體本身添加一些行爲,而不必從單獨的域模型來回映射。 – int21h