統合テスト:
UERDomainService uerDomainService;
[TestInitialize]
public void Setup()
{
uerDomainService = new UERDomainService();
}
[TestMethod]
public void GetUsersWithRoles_GivenRoleID1003_ShouldNotReturnMateerAsSoftDeleted()
{
// blah
Assert.AreEqual(0, thing.Count());
// blah
uerDomainService.DeleteRoleMembership(rm);
}
次に、RIA Services コードで生成されたメソッドである DeleteRoleMembership(rm) で:
public void DeleteRoleMembership(RoleMembership roleMembership)
{
if ((roleMembership.EntityState != EntityState.Detached))
{
this.ObjectContext.ObjectStateManager.ChangeObjectState(roleMembership, EntityState.Deleted);
}
else
{
this.ObjectContext.RoleMemberships.Attach(roleMembership);
this.ObjectContext.RoleMemberships.DeleteObject(roleMembership);
}
// added to get tests working
ObjectContext.SaveChanges();
}
テストを機能させるためにこれを入れなければならないのはなぜですか?
それでも、Silverlight アプリが機能するためには必要ありません。RIA の保存パイプラインと関係があることはわかっています。メソッド uerDomainService.Submit には ChangeSet が必要です。
質問: テストから SubmitChanges パイプラインを開始するにはどうすればよいですか?