Я знаю, что есть несколько вопросов, аналогичных моему. Проект WebAPI и его разделение между WebAPI и технологией DataCcess. У меня нет проблемного тестирования контроллера WebAPI, так как я могу издеваться над классом доступа к данным. Поскольку я использую Dapper с встроенными запросами в нем, я немного смущен тем, как проверить его, используя модульный тест. Я спросил некоторых из моих друзей, и они предпочитают провести интеграционный тест вместо модульного теста.public abstract class Repository : SyncTwoWayXI, IRepository where T : IDatabaseTable
{
public virtual IResult GetItem(String accountName, long id)
{
if (id p.CustomAttributes.All(a => a.AttributeType != typeof(SqlMapperExtensions.DapperIgnore))).Select(p => p.Name)));
builder.From(typeof(T).Name);
builder.Where("id = @id", new { id });
builder.Where("accountID = @accountID", new { accountID = accountName });
builder.Where("state != 'DELETED'");
var result = new Result();
var queryResult = sqlConn.Query(query.RawSql, query.Parameters);
if (queryResult == null || !queryResult.Any())
{
result.Message = "No Data Found";
return result;
}
result = new Result(queryResult.ElementAt(0));
return result;
}
// Code for Create, Update and Delete
}
< /code>
и реализация для вышеупомянутого кода похожа на < /p>
public class ProductIndex: IDatabaseTable
{
[SqlMapperExtensions.DapperKey]
public Int64 id { get; set; }
public string accountID { get; set; }
public string userID { get; set; }
public string deviceID { get; set; }
public string deviceName { get; set; }
public Int64 transactionID { get; set; }
public string state { get; set; }
public DateTime lastUpdated { get; set; }
public string code { get; set; }
public string description { get; set; }
public float rate { get; set; }
public string taxable { get; set; }
public float cost { get; set; }
public string category { get; set; }
public int? type { get; set; }
}
public class ProductsRepository : Repository
{
// ..override Create, Update, Delete method
}
Подробнее здесь: https://stackoverflow.com/questions/304 ... ne-queries
ЕДИНИЦА ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Несоответствие типов: предполагаемый тип — Unit, но () -> Ожидалась единица измерения
Anonymous » » в форуме Android - 0 Ответы
- 123 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Единица rem не влияет на размер шрифта мобильного устройства на Android
Anonymous » » в форуме Android - 0 Ответы
- 70 Просмотры
-
Последнее сообщение Anonymous
-
Мобильная версия