- 新增 .dockerignore 文件,忽略多种临时及中间文件 - 新增 .gitattributes 文件,配置文本文件换行及合并行为 - 新增详细的 .gitignore 文件,排除多种开发及生成文件 - 新增 VS Code C# 代码片段,提升开发效率 - 添加 Directory.Build.props,统一 MSBuild 配置和代码分析规则 - 添加空的 Directory.Build.targets,预留构建任务扩展位置 - 添加 Directory.Packages.props,实现依赖包版本集中管理和声明
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using Testcontainers.PostgreSql;
|
|
using Testcontainers.Redis;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Fengling.Backend.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace Fengling.Backend.Web.Tests.Fixtures;
|
|
|
|
public class WebAppFixture : AppFixture<Program>
|
|
{
|
|
private RedisContainer _redisContainer = null!;
|
|
private PostgreSqlContainer _databaseContainer = null!;
|
|
|
|
protected override async ValueTask PreSetupAsync()
|
|
{
|
|
_redisContainer = new RedisBuilder()
|
|
.WithCommand("--databases", "1024").Build();
|
|
_databaseContainer = new PostgreSqlBuilder()
|
|
.WithUsername("postgres").WithPassword("123456")
|
|
.WithEnvironment("TZ", "Asia/Shanghai")
|
|
.WithDatabase("postgres").Build();
|
|
|
|
var tasks = new List<Task> { _redisContainer.StartAsync() };
|
|
tasks.Add(_databaseContainer.StartAsync());
|
|
await Task.WhenAll(tasks);
|
|
}
|
|
|
|
protected override void ConfigureApp(IWebHostBuilder a)
|
|
{
|
|
a.UseSetting("ConnectionStrings:Redis",
|
|
_redisContainer.GetConnectionString());
|
|
a.UseSetting("ConnectionStrings:PostgreSQL",
|
|
_databaseContainer.GetConnectionString());
|
|
a.UseEnvironment("Development");
|
|
}
|
|
|
|
}
|