比较数组方法的测试失败

本文关键字:测试 失败 方法 数组 比较 | 更新日期: 2023-09-27 18:18:05

我正在测试我的类。我的方法返回给定保单id的已付保险百分比和财务限制的数组。对于id 43,其财务限额为零,其保险支付百分比为95.75%。我正试图测试这个,但我的测试一直失败。谁能告诉我哪里做错了吗?

这是我的类

public class PatientInsuranceLimits : System.Web.UI.Page
{
    String sqlConStr = ConfigurationManager.ConnectionStrings["connectionname"].ToString();

    public String[] generalLimits(String policyID)
    {
        String []resultset = new String[2];
        SqlConnection con = new SqlConnection(sqlConStr);
        String sqlQuery1 = "Select InsurancePaidPercentage as iPP, FinancialLimit as fLimit from Policy where ID=@poid";
        SqlCommand cmd1 = new SqlCommand(sqlQuery1, con);
       cmd1.Parameters.AddWithValue("@poid", policyID);
       try
       { 
        con.Open();
           SqlDataReader r = cmd1.ExecuteReader();
           while(r.Read()){
               resultset[0] = r[0].ToString();
               resultset[1] = r[1].ToString();
           }
           r.Close();
       }
       catch(Exception ex){
        }
        finally{
            con.Close();
       }
       return resultset;
    }

这是我的测试类

namespace _10_06_13_test
{
    [TestClass()]
    public class PatientInsuranceLimitsTest
    {
        private TestContext testContextInstance;
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }
        [DataSource("System.Data.SqlClient", "Data Source=servername_lab;Initial Catalog=IDKit;User ID=userid;Password=password", "mytable", DataAccessMethod.Sequential), TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("C:''Users", "/")]
        [UrlToTest("http://localhost:51063/")]
        public void generalLimitsTest()
        {
            SurvivalHealth.PatientInsuranceLimits target = new SurvivalHealth.PatientInsuranceLimits(); 
            string policyID = "43";
            string[] expected = new string[] {"95.75"};
            string[] actual;
            actual = target.generalLimits(policyID);
            Assert.AreEqual(expected, actual);
        }
    }
}       

比较数组方法的测试失败

函数返回一个包含null和"19.75"的数组。您需要更改分配给{ null, "19.75"}的预期值。

然而,如果你使用的是。net 2或更高版本,我建议你改变方法,返回一个元组,以防止这类错误。将数字存储为数值数据类型(如decimal)可能也是一个好主意。