首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在TestContainers中首先自动化实体框架代码的数据库设置以进行测试?

如何在TestContainers中首先自动化实体框架代码的数据库设置以进行测试?
EN

Stack Overflow用户
提问于 2022-09-20 17:21:08
回答 1查看 91关注 0票数 0

为了设置用于测试的TestContainerMsSqlTestcontainer,我复制了dotnet ef migrations script发出的脚本并将其植入单元测试的设置中(实际代码没有:

代码语言:javascript
复制
void PrepareDb(MsSqlTestcontainer dbTestContainer){
    dbTestContainer.ExecScriptAsync(@"CREATE TABLE [DbName] ( /* ... */ )");
}

是否有一种方法可以使其自动化,例如,如果DB模型发生变化,并将其连接起来,例如MyDbContext直接连接到TestContainer的逻辑中?

我正在考虑将MyDbContext代码传递到容器中,并在其中运行dotnet ef migrations script,但我不确定它是否值得这么做(而且我需要使用一个已经安装了dotnet的容器,这是另一个复杂的问题)。

这是dbTestContainer设置,FWIW:

代码语言:javascript
复制
var dbTestContainer = new TestcontainersBuilder<MsSqlTestcontainer>()
    .WithDatabase(new MsSqlTestcontainerConfiguration { Password = "whatever secret" })
    .WithImage("mcr.microsoft.com/azure-sql-edge")
    .WithWaitStrategy(Wait.ForUnixContainer())
    .Build()
EN

回答 1

Stack Overflow用户

发布于 2022-09-20 17:23:40

连接到容器数据库,并在测试开始之前以编程方式运行迁移。

dbContext.Database.Migrate();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73790453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档