как протестировать код, который вызывает хранимую процедуру - PullRequest
0 голосов
/ 10 июля 2020

Я пишу приложение .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, что лучше всего? Что я сделал, нормально ?

...