0

我正在尝试使用 Xunit 为我的 ASP.NET Core 3.1 应用程序编写单元测试。

我使用 NBuilder(6.1 版)来创建一些测试数据,如下所示:

var listOne = Builder<DependantClassA>.CreateListOfSize(1)
    .All()
        .With(x => x.IntPropertyA = 60)
        .With(x => x.MyClass = classList[0])
    .Build().ToList();

dbcontext.DependantClassA.Add(listOne[0]);
dbcontext.SaveChanges();

当我执行此代码时出现错误

SqliteException:SQLite 错误 19:“外键约束失败”

但是,当我更改为:

var listTwo = new List<DependantClassA>
{
    new DependantClassA
    {
        IntPropertyA = 60,
        MyClass = classList[0],
    }
};

dbcontext.DependantClassA.Add(listTwo[0]);
dbcontext.SaveChanges();

该模型刚刚添加到我的数据库中,没有任何问题。所以我的猜测是它必须对 Nbuilder 做一些事情,但我不知道我做错了什么或者我可以改变什么。

注意:classList也是使用 NBuilder 创建的,但将这些对象添加到我的过程中没有问题dbContext

注 2:当我比较两个对象的属性时,我看不出有任何区别。

4

0 回答 0