-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