为了账号安全,请及时绑定邮箱和手机立即绑定

如何执行 XUnit 测试以检查和验证从 AppSetting.json 加载的正确信息

如何执行 XUnit 测试以检查和验证从 AppSetting.json 加载的正确信息

C#
斯蒂芬大帝 2022-10-23 15:56:05
我正在使用 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"];


查看完整回答
反对 回复 2022-10-23
  • 1 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号