相关疑难解决方法(0)

使用内存进行单元测试.ToListAsync()

以下是由于内存dbset不支持.ToListAsync()而导致的.ShouldNotThrow()测试失败的一种测试(我没有确切的用词,但您知道了)。如果有任何重要意义,我正在尝试模拟Entity Framework ver提供的dbset。6.1.3:

[TestFixture]
public class Tests
{
    private SomeRepository _repository;
    private Mock<DbSet<SomeEntity>> _mockDbSet;
    private Mock<IApplicationDbContext> _mockAppDbContext;

    [OneTimeSetUp]
    public void TestFixtureSetUp()
    {
        _mockDbSet = new Mock<DbSet<SomeEntity>>();
        _mockAppDbContext = new Mock<IApplicationDbContext>();
        _mockAppDbContext.SetupGet(c => c.Gigs).Returns(_mockGigsDbSet.Object);

        _repository = new SomeRepository(_mockAppDbContext.Object);
    }

    [Test]
    public void Test()
    {
        // Setup
        var results = (IEnumerable<SomeEntity>) null;
        var singleEntity = new SomeEntity {Id = "1"};
        _mockDbSet.SetSource(new List<SomeEntity> { singleEntity });

        // Act
        var action = new Func<Task>(async () =>
        {
            results = await _repository.GetMultipleAsync(); //this ends up …
Run Code Online (Sandbox Code Playgroud)

asp.net unit-testing entity-framework

2
推荐指数
1
解决办法
2031
查看次数

标签 统计

asp.net ×1

entity-framework ×1

unit-testing ×1