asp.net-core - 参数 1:无法在 Xunit 测试类中从“对象”转换为“字符串”
问题描述
我在 Xunit 测试类中遇到以下错误。
Argument 1: cannot convert from 'object' to 'string'.
以下代码返回数据的方式
[HttpPost]
[Route("Reg")]
public async Task <dynamic> User([FromBody] object value)
{
//User Registeration
// To Get All Data
JObject ReturnData = new JObject();
try
{
var Collection = _database.GetCollection<BsonDocument>("MyCollectio");
var doc = await Collection.Find(new BsonDocument()).ToListAsync();
if(doc != null)
{
// Data.Add("userid",JsonConvert.SerializeObject(doc));
ReturnData.Add("success",1);
ReturnData.Add("message","Data Successfully Inserted");
ReturnData.Add("data",doc.ToJson());
}
else
{
ReturnData.Add("success",0);
ReturnData.Add("message","No Data Found");
}
}
catch(Exception e)
{
Console.WriteLine(e.StackTrace);
ReturnData.Add("success",0);
ReturnData.Add("message","Error");
}
return ReturnData;
}
测试班
[Fact]
public async void Test1()
{
JObject jObject = new JObject();
jObject.Add("name", "Satheesh");
jObject.Add("email", "sat@sat.com");
JObject finaljObject = new JObject();
finaljObject.Add("data", finaljObject);
var content = JsonConvert.SerializeObject(finaljObject);
var stringContent = new StringContent(content, Encoding.UTF8, "application/json");
// Act
var response = await _client.PostAsync("/api/Values/Reg", stringContent);
var t = response;
// Assert
// response.StatusCode.ShouldBe(HttpStatusCode.OK);
var result = await response.Content.ReadAsStringAsync();
var responseString = await response.Content.ReadAsStringAsync();
Assert.Contains("Data Successfully Retrived", responseString);
}
实际代码运行正常,没有任何错误。当我尝试运行测试调用时,它会在我的实际项目中显示错误。我该如何解决它。
谢谢...
解决方案
推荐阅读
- postgresql - 如何在公共 IP 上运行 POSTGRESQL 服务器
- c++ - 是什么阻止 STL 拥有“std::deep_ptr”?
- jasper-reports - JasperReports:更新“主”报告时更新几个“从属”报告
- algorithm - 如何理解蒙特卡洛树搜索的 4 个步骤
- c# - Unity中的静态变量在哪里初始化?
- c# - 为什么 Xamarin 不绑定属性?
- android - Chrome 远程设备无法在移动设备上调试 WebView?
- python - 不支持的 mimetype:application/vnd.openxmlformats-officedocument.wordprocessingml.document
- java - 在 Spring Boot 中将 AWS S3 文件作为流下载
- c++ - C ++删除第一个x元素的有效方法,将第x + 1个元素推到第一个而不改变向量大小