我正在使用 SendGrid Azure 规范进行 XUnit 测试,在 .NET CORE 应用程序中运行。我是测试世界的新手,非常了解它背后的哲学。我是负责执行电子邮件发送功能的 EmailService 类。在我的第一个测试中,我想检查是否从 appsetting.json 文件加载了正确的配置。appsetting.json "SendGridEmailSettings": { "SendGrid_API_Key": "xxx", "SenderConfig": { "From": "info@myOrganization.ltd", "Name": "my organization" }}测试班using Xunit;using Xunit.Extensions;namespace Services.Specs{ public class EmailServiceSpec: Specification { protected override void Observe() { var configuration = Substitute.For<IConfiguration>(); Bag.Configuration = configuration; }}public class EmailServiceShould: EmailServiceSpec{ public EmailServiceShould() { Observe(); } [Fact] public void Load_Valid_Configuration_From_AppSetting() { //var SendGrid_API_Key = Configuration["SendGridEmailSettings:SendGrid_API_Key"]; this doesn't work } }}电子邮件服务配置类public interface IEmailConfig{ string SendGrid_API_Key { get; set; } SenderEmailConfig SenderConfig { get; set; }}电子邮件服务类 public interface IEmailService{ Task SendEmail(EmailMultipleAudience email); Task SendEmail(EmailSingleAudience email);}public class EmailData{ public string Subject { get; set; } public string PlainTextContent { get; set; } public string HtmlContent { get; set; }}public class EmailSingleAudience: EmailData{ public EmailAddress To { get; set; }}public class EmailMultipleAudience : EmailData{ public List<EmailAddress> To { get; set; }}
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
如果您有一个单独的项目,请复制您appsettings.json的 XUnit 测试项目(否则跳过此步骤)。然后加载它:
var Configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();然后你就可以使用它了。
var SendGrid_API_Key = Configuration["SendGridEmailSettings:SendGrid_API_Key"];
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消
