0
私が持っている問題を投げる:部品番号DbContext非同期テストこのテストでエラー
[Test]
public async Task Add_async_vaild_test_entity_to_database_should_be_added()
{
// Setup Moq
var mockSet = new Mock<DbSet<SingleChoiseTest>>();
var mockContext = new Mock<NoezaTestContext>();
mockContext.Setup(m => m.SingleChoiseTests).Returns(mockSet.Object);
// Perform action
var operations = new SingleChoiseTestOperations(mockContext.Object);
await operations.AddSingleChoiseTest(new SingleChoiseTest("question", new Answer("d1", false),
new Answer("d2", false), new Answer("d3", false), new Answer("d4", true)));
mockSet.Verify(t => t.Add(It.IsAny<SingleChoiseTest>()), Times.Once);
mockContext.Verify(m => m.SaveChangesAsync(), Times.Once);
}
私はこの機能をテストしています:
public async Task AddSingleChoiseTest(SingleChoiseTest singleChoiseTest)
{
if (singleChoiseTest == null)
throw new NullReferenceException("Test cannot be null.");
if (!singleChoiseTest.IsValid())
{
throw new ArgumentException("Test is not vaild.");
}
using (_context)
{
_context.SingleChoiseTests.Add(singleChoiseTest);
await _context.SaveChangesAsync();
}
}
私はそれが例外の下に投げテストを実行すると: System.NotSupportedException:非仮想(VBでオーバーライド可能)メンバの設定が無効です。m => m.SingleChoiseTests
オハイオ州、私は理解しています、ありがとう! –