【发布时间】:2021-06-16 09:17:14
【问题描述】:
我是 C# 新手,正在编写 API 测试。我需要编写将创建新用户的测试。这里是:
public async Task CreatingNewUser_Returns200()
{
string client = BaseClass.mainURL;
var json = SettingsHelper.ReadSetting("NewUser");
httpc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(BaseClass.authKey, BaseClass.authValue);
var content = new StringContent(json);
var response = await httpc.PostAsync(client, content);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
}
另外,我的 SettingsHelper 类有两种方法可以让我的 json 可读:
private static JObject _jObject;
public static string ReadSetting(string name)
{
var parts = name.Split('.', StringSplitOptions.RemoveEmptyEntries);
JToken token = GetObject();
foreach (var part in parts)
{
token = token[part];
if (token == null)
{
return null;
}
}
return token.Value<string>();
}
private static JObject GetObject()
{
if (_jObject != null)
{
return _jObject;
}
var filename = Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)!,
"appsettings.json");
var json = File.ReadAllText(filename);
_jObject = JObject.Parse(json);
return _jObject;
}
我的用户有 appsettings.json 文件:
"NewUser": {
"externalDealId": "6051",
"Id": "12312111" // and so on
}
但是当我启动这个测试时,我得到一个错误(标题名称)。我该如何解决这个问题?
【问题讨论】:
标签: c#