Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Prism进行Xamarin表单时出现nUnit测试问题_C#_Unit Testing_Xamarin.forms_Nunit_Prism - Fatal编程技术网

C# 使用Prism进行Xamarin表单时出现nUnit测试问题

C# 使用Prism进行Xamarin表单时出现nUnit测试问题,c#,unit-testing,xamarin.forms,nunit,prism,C#,Unit Testing,Xamarin.forms,Nunit,Prism,我正在尝试使用nUnit为Xamarin表单项目编写单元测试。但是当我调用方法时,等待vm.LoadExes()在视图模型中,我得到一个错误: 类型“BindableBase”是在未引用的程序集中定义的。必须添加对程序集“Prism,Version=6.2.0.0,Culture=neutral,PublicKeyToken=91a96d2a154366d8”的引用。” 方法被标记为internal,以便可以从单元测试项目访问它。您是否在单元测试项目中添加了对prism的引用?@KenTucke

我正在尝试使用nUnit为Xamarin表单项目编写单元测试。但是当我调用方法
时,等待vm.LoadExes()
视图模型
中,我得到一个错误:

类型“BindableBase”是在未引用的程序集中定义的。必须添加对程序集“Prism,Version=6.2.0.0,Culture=neutral,PublicKeyToken=91a96d2a154366d8”的引用。”


方法被标记为
internal
,以便可以从单元测试项目访问它。

您是否在单元测试项目中添加了对prism的引用?@KenTucker是的。我已经将prism nuget包添加到项目中。JIC,是同一版本吗?@EvX什么是JIC?
    public class ExesTests 
    {
        private Mock<IExService> mockExService;
        private Mock<INavigationService> mockNavigationService;
        private Mock<IPageDialogService> mockPageDialogService;

        [TestInitialize]
        public void Setup()
        {
            mockExService = new Mock<IExService>();
            var exes = new List<Ex>()
            {   
                new Ex()
            };
            mockExService.Setup(o => o.GetExes().Result).Returns(exes);
        }

        [TestMethod]
        public async Task GetExesTest()
        {           
            var vm = new ExesPageViewModel(mockExService.Object, 
                mockNavigationService.Object, mockPageDialogService.Object);            
            await vm.LoadExes(); // Getting error here

         //Assert here
        }
    }
internal async Task LoadExes()
{
    //Do something
}