SmtpConfigには、テストクラスで使用する認証情報が含まれています。 appsettings.development.jsonここテストクラス(ASP.NETコア)に構成設定を挿入する方法は?
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"SmtpConfig": {
"credentials": "username:password"
}
}
私はsmtpConfigがクラス内に注入されるように設定(非常にうまく動作し、コントローラクラスで!) Startup.cs
public IConfigurationRoot Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<SmtpConfig(
Configuration.GetSection(nameof(SmtpConfig)
));
}
私は、AppSettingsから資格情報にアクセスしたいですテストでは.development.jsonを使用しています。これは、別のサーバで別の設定ファイルがあるためです。
//important usings
using Microsoft.Extensions.Options;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class SomeControllerAPITest
{
private SmtpConfig _smtpConfig;
public SomeControllerAPITest(IOptions<SmtpConfig> smtpConfig)
{
_smtpConfig = smtpConfig.Value;
}
[TestMethod]
public void Post_ReturnsCreatedInstance()
{
var credentials = _smtpConfig.credentials;
//use that credentials
...
//call remote server
...
}
}
これは可能ですか?