Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET内核中使用mysql进行单元测试、actionresult_C#_Unit Testing_Asp.net Core - Fatal编程技术网

C# 如何在ASP.NET内核中使用mysql进行单元测试、actionresult

C# 如何在ASP.NET内核中使用mysql进行单元测试、actionresult,c#,unit-testing,asp.net-core,C#,Unit Testing,Asp.net Core,如何在mysql中使用ActionResult来测试这段代码 [HttpPost] public ActionResult SomeAction(string qrcode) { string connectionString = @"Server=localhost;Database=aspkladovaya;Uid=root;Pwd=qwerty98123;"; string result = ""

如何在mysql中使用ActionResult来测试这段代码

    [HttpPost]
    public ActionResult SomeAction(string qrcode)
    {
        string connectionString = @"Server=localhost;Database=aspkladovaya;Uid=root;Pwd=qwerty98123;";
        string result = "";

        try
        {
            using (MySqlConnection sqlCon = new MySqlConnection(connectionString))
            {
                try
                {
                    int userID = Convert.ToInt32(qrcode);
                    sqlCon.Open();

                    MySqlDataAdapter sqlDa = new MySqlDataAdapter("UserFindByID", sqlCon);
                    sqlDa.SelectCommand.Parameters.AddWithValue("_qruserid", userID);
                    sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure;

                    DataTable dtbl = new DataTable();
                    sqlDa.Fill(dtbl);

                    for (int i = 0; i < 3; i++)
                    {
                        if (qrcode == dtbl.Rows[i][1].ToString())
                        {
                            user.QrUserId = qrcode;
                            result = dtbl.Rows[i][3].ToString();
                        }
                        else
                        {
                            result = error;
                        }
                    }
                }
                catch
                {
                }
            }
        }
        catch
        {
        }

        return Json(result);
    }
我犯了这样的错误

Assert.IsInstanceOfType失败。所需类型:。实际类型:


您的测试方法应该如下所示

 [TestMethod]
    public void TestMethod2()
    {
        HomeController homeController = new HomeController();
        ActionResult result = homeController.SomeAction("12");
        Assert.IsInstanceOfType(result, typeof(JsonResult));
    }
您的方法正在返回JsonResult,您正在尝试检查它是否为ViewResult。这就是问题的原因

 [TestMethod]
    public void TestMethod2()
    {
        HomeController homeController = new HomeController();
        ActionResult result = homeController.SomeAction("12");
        Assert.IsInstanceOfType(result, typeof(JsonResult));
    }