我正在使用 SendGrid Azure 規(guī)范進行 XUnit 測試,在 .NET CORE 應用程序中運行。我是測試世界的新手,非常了解它背后的哲學。我是負責執(zhí)行電子郵件發(fā)送功能的 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 } }}電子郵件服務(wù)配置類public interface IEmailConfig{ string SendGrid_API_Key { get; set; } SenderEmailConfig SenderConfig { get; set; }}電子郵件服務(wù)類 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條經(jīng)驗 獲得超2個贊
如果您有一個單獨的項目,請復制您appsettings.json
的 XUnit 測試項目(否則跳過此步驟)。然后加載它:
var Configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build();
然后你就可以使用它了。
var SendGrid_API_Key = Configuration["SendGridEmailSettings:SendGrid_API_Key"];
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消