fakeXrmEasy 用于 crm 测试初始化​​问题

fakeXrmEasy for crm testing initialization issues

我正在尝试按照 FakeXrmEasy 的基本教程进行操作,但我不确定为什么会出现错误。我安装了模拟 Dynamics 365 所需的一切,但我仍然遇到错误。我不知道我错过了什么,我真的很想能够使用这个工具。

CS1950 The best overloaded Add method 'List.Add(Entity)' for the collection initializer has some invalid arguments unitTest c:\Users\acapell\documents\visual studio 2015\Projects\unitTest\unitTest\Program.cs 48 Active

CS0246 The type or namespace name 'Account' could not be found (are you missing a using directive or an assembly reference?) unitTest c:\Users\acapell\documents\visual studio 2015\Projects\unitTest\unitTest\Program.cs 45 Active

不知道我是否应该创建一个帐户 class,我也试过了,但也没有用。我得到了

CS1503 Argument 1: cannot convert from 'unitTest.Account' to 'Microsoft.Xrm.Sdk.Entity' unitTest c:\Users\acapell\documents\visual studio 2015\Projects\unitTest\unitTest\Program.cs 48 Active

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
using FakeItEasy;
using FakeXrmEasy;
using Microsoft.Xrm.Sdk;


namespace unitTest
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
     class unitTest
    {
        public object ProxyTypesAssembly { get; private set; }

        public void MyFirstTest()
        {//test method body
            var context = new XrmFakedContext();

            //You can think of a context like an Organisation database which stores entities In Memory.

            //We can also use TypedEntities but we need to tell the context where to look for them, 
            //this could be done, easily, like this:

            context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(Account));

            //We have to define our initial state now, 
            //by calling the Initialize method, which expects a list of entities.



            var account = new Account() { Id = Guid.NewGuid(), Name = "My First Faked Account yeah!" };

            context.Initialize(new List<Entity>() {
               account
            });

        }
    }


}

您是否在您的 CRM 项目中使用了早期绑定并且引用正确?如果您不使用早期绑定,您可以尝试后期绑定,例如

//context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(Account));

var account = new Entity();
account.LogicalName = "account";
account.Attributes["name"] = "your account name";