【发布时间】:2018-10-12 17:37:58
【问题描述】:
使用 C#、.net core 2.0、dynamo db
我有我的 web api,它与我的 dynamo db 数据库交互,同时具有 Get 和 Post 方法。
方法示例:
[HttpGet("api/data")]
public async Task<List<string>> GetAllData(string userId, string type, string status)
{
var creds = new BasicAWSCredentials(awsId, awsPassword);
var dynamoClient = new AmazonDynamoDBClient(creds, dynamoRegion);
var context = new DynamoDBContext(dynamoClient);
List<ScanCondition> conditions = new List<ScanCondition>();
conditions.Add(new ScanCondition("UserId", ScanOperator.Equal, userId));
conditions.Add(new ScanCondition("Type", ScanOperator.Equal, type));
conditions.Add(new ScanCondition("Status", ScanOperator.Equal, status));
var results = await context.ScanAsync<Common.Job>(conditions, new DynamoDBOperationConfig() { OverrideTableName = MyDynamoTable }).GetRemainingAsync();
return results.Select(x => x.UpdatedBy.ToLower()).ToList();
}
现在我想为我的 api 方法编写单元/集成测试。早些时候我使用过 NUnit,但使用 .net core 2.0 我相信我们必须使用 XUnit:https://xunit.github.io/docs/getting-started-dotnet-core
在我的项目中设置 Xunit 应该不是问题。
我想知道如何在这里编写涉及 dynamo db 的测试。这是我第一次在这里使用任何 AWS 服务。
所以基本上我需要知道如何模拟 aws 连接、发电机数据库,然后使用上面我的方法中显示的各种参数。
我找不到有关此主题的更多详细信息或任何较早的有用帖子,因此在此处发布。
如果 aws dynamo db 部分不可测试。任何人都可以分享 xunit 测试的示例,我们可以在其中测试参数并查看预期结果吗?
【问题讨论】:
-
有人输入吗?
标签: amazon-web-services asp.net-core .net-core amazon-dynamodb xunit.net