Аргумент 1: невозможно преобразовать объект из строки в тестовый класс Xunit - PullRequest
0 голосов
/ 06 декабря 2018

Я получаю следующую ошибку в моем тестовом классе 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);
    }

Фактический код работает без ошибок.Когда я пытаюсь выполнить тестовые вызовы, это показывает ошибку в моем реальном проекте. Как я могу решить эту проблему.

Спасибо ...

...