5

FakeXrmEasyCRM Online (2016) のいくつかの単体テストを実行するために使用しようとしていますが、N:N 関係でテストの 1 つを設定する際に問題があります。

次のコードは、2 つのエンティティを含む偽のコンテキストを設定し、偽の組織サービスを初期化します。

var entity1 = new New_entityOne();
var entity2 = new New_entityTwo();

var context = new XrmFakedContext();
context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(New_entityOne));
context.Initialize(new List<Entity>()
{
    entity1,
    entity2
});

var service = context.GetFakedOrganizationService();

次に、これらのエンティティ間に N:N の関係を作成しようとします。

var join = new AssociateRequest
{
    Relationship = new Relationship
    {
        SchemaName = "new_entityOne_new_entityTwo",
        PrimaryEntityRole = EntityRole.Referenced
    },
    Target = entity1.ToEntityReference(),
    RelatedEntities = new EntityReferenceCollection
    {
        entity2.ToEntityReference()
    }
};

service.Execute(join);

これを実行すると、モック データで と の間にRequestN:N 結合レコードが生成されることを期待しています。entity1entity2

代わりに、次のようなエラーが発生します。

タイプ 'System.Exception' の例外が FakeXrmEasy.dll で発生しましたが、ユーザー コードで処理されませんでした

追加情報: リレーションシップ new_entityOne_new_entityTwo がメタデータ キャッシュに存在しません

他の誰かがこのユニット フレームワークをこの方法で使用しようとしましたか? この時点まで、私はそれを使用して本当に良い結果を得てきました.

明らかに、これらは私の実際のエンティティ名や関係名ではありません

4

1 に答える 1