Когда я вызываю API через почтальона, данные успешно вставлены в mongodb.Но я запускаю тестовый класс xunit, он показывает исключение mongodb null.Почему я получаю эту проблему.Ниже приводится мой тестовый класс и исходный код проекта.
XUnit
[Fact]
public async void Test1()
{
JObject jObject = new JObject();
jObject.Add("name", "Satheesh");
jObject.Add("email", "sat@sat.com");
JObject finaljObject = new JObject();
finaljObject.Add("data", jObject);
Console.WriteLine("************ "+finaljObject);
var content = JsonConvert.SerializeObject(finaljObject);
var stringContent = new StringContent(content, Encoding.UTF8, "application/json");
// Act
var response = await _client.PostAsync("/api/Values/User", stringContent);
// Assert
var result = await response.Content.ReadAsStringAsync();
var responseString = await response.Content.ReadAsStringAsync();
Assert.Contains("Data Successfully Retrived", responseString);
}
Источник Projcet
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
private readonly IMongoDatabase _database = null;
// GET api/values
public ValuesController(IOptions<Settings> settings)
{
try
{
var client = new MongoClient(settings.Value.ConnectionString);
if (client != null)
_database = client.GetDatabase(settings.Value.Database);
}
catch(MongoException e)
{
Console.WriteLine("DB Connection Error "+e.StackTrace);
}
}
[HttpPost]
[Route("User")]
public async Task <dynamic> RegisterUser([FromBody] JObject value)
{
//User Registeration
BsonDocument ReturnData = new BsonDocument();
try
{
dynamic jObject = JObject.FromObject(value);
dynamic data = jObject.data;
BsonDocument Document = BsonDocument.Parse(data.ToString());
_database.GetCollection<BsonDocument>("User").InsertOne(Document);
if(Document["_id"].AsObjectId != null)
{
return ReturnData.Add("message","Successfully Inserted").Add("Success",1).Add("data",Document["_id"].AsObjectId).ToJson();
}
else
{
return ReturnData.Add("message","Error During Insert Document").Add("Success",0).ToJson();
}
}
catch(Exception e)
{
Console.WriteLine(e.StackTrace);
return ReturnData.Add("message","Error").Add("Success",e.StackTrace).ToJson();
}
}
}
Ошибка:
DB Connection Error at MongoDB.Driver.Core.Misc.Ensure.IsNotNull[T](T value, String paramName)
at MongoDB.Driver.Core.Configuration.ConnectionString..ctor(String connectionString)
at MongoDB.Driver.MongoUrlBuilder.Parse(String url)
at MongoDB.Driver.MongoUrl..ctor(String url)
at MongoDB.Driver.MongoClient..ctor(String connectionString)
at test3.Controllers.ValuesController..ctor(IOptions`1 settings)
Как решить эту проблему.Любой, кто попытается мне помочь.
Спасибо ...