Я пишу приложение .netCore и пытаюсь протестировать каждую часть кода, который я пишу, но, несмотря на мое личное желание, у меня есть хранимая процедура, я обычно создаю интерфейс и реализую его, а затем вызываю интерфейс в своем контроллере, здесь это реализация моего интерфейса:
public IEnumerable<OverviewData> overview(string regionalManager, string dtFrom, string dtTo)
{
regionalManager = "%";
dtFrom = "2020/07/06";
dtTo = "2020/07/07";
string service_under = "%";
string supervisor = "%";
DateTime frm = Convert.ToDateTime(dtFrom);
DateTime t = Convert.ToDateTime(dtTo);
NpgsqlParameter p0 = new NpgsqlParameter("@dtfrom",System.Data.DbType.DateTime);
NpgsqlParameter p1 = new NpgsqlParameter("@dtto", System.Data.DbType.DateTime);
NpgsqlParameter p2 = new NpgsqlParameter("@regionalmanager", NpgsqlDbType.Varchar);
NpgsqlParameter p3 = new NpgsqlParameter("@serviceunder", NpgsqlDbType.Varchar);
NpgsqlParameter p4 = new NpgsqlParameter("@supervisor", NpgsqlDbType.Varchar);
var x = _db.dataInGlance.FromSqlRaw(@"SELECT * from wpv.avail_pro_api(@p0,@p1,@p2,@p3,@p4)
res (o_availability double precision, o_production double precision,o_numberofturbines integer, o_errors_disabled integer,o_failed_battery integer,o_power integer,o_crew_present text)", frm,t,regionalManager,service_under,supervisor
).ToList();
return x;
}
Я хочу знать, как я могу его протестировать, и в таких случаях, как мой, у вас нет другого выбора, кроме использования SP, что лучше всего? Что я сделал, нормально ?