NSubstitute mock cosmosdb ReadItemAsync 返回一个测试数据

问题描述

谁能帮我模拟 ReadItemSync 以返回测试数据?我正在编写一个单元测试来模拟测试数据。我正在尝试为模拟设置返回数据。

[Test]
    public void GetById_ItShouldReturn_LearnerRecordCreatedEpochDetail()
    {
        // Arrange
        var learnerRecordDA = new LearnerRecordDA
        {
            Id = Guid.NewGuid().ToString(),ts = DateTime.Now.ToString(),FirstName = Guid.NewGuid().ToString(),Surname = Guid.NewGuid().ToString(),Type = Globals.LearnerTypeName,CreatedOn = 1614028645
        };

        var response = Substitute.For<ItemResponse<LearnerRecordDA>>(learnerRecordDA);
        var container = Substitute.For<Container>();
        container.ReadItemAsync<LearnerRecordDA>(
                Arg.Any<string>(),new PartitionKey(Globals.DefaultOrganisation))
            .Returns(response);

        var cosmosClient = Substitute.For<CosmosClient>();
        cosmosClient.GetContainer(Arg.Any<string>(),Arg.Any<string>()).Returns(container);
    }

运行上述测试时出现以下错误

Castle.DynamicProxy.InvalidProxyconstructorargumentsException: 'Can not instantiate proxy of class:

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)