首页 > 解决方案 > 如何对从 ASP.Net MVC 中的 App_Data 文件夹读取数据的方法进行单元测试?

问题描述

我正在从放置 App_Data 文件夹的 JSON 文件中读取数据,我的方法如下所示。

    public List<CounterModel> ReadData()
    {
        string file = HttpContext.Current.Server.MapPath("~/App_Data/counter.json");
        string Json = File.ReadAllText(file);
        List<CounterModel> items = JsonConvert.DeserializeObject<List<CounterModel>>(Json);
        var res = items.OrderByDescending(x => x.year).ToList();
        return res;
    }

我已经使用 nunit 编写了测试方法来测试 ReadData 方法,如下所示,

    [TestFixture]
    public class ReadJsonTest
    {
        [Test]
        public void ReadDataTestMain()
        {
            ReadFile rf = new ReadFile();
            int output = rf.ReadData().Count();
            Assert.IsTrue(output > 0, "The file is not having any data");

        }
    }

当我尝试调试测试方法(ReadDataTestMain)时,它在我的实际方法(ReadData)中抛出错误,在 HttpContext 的第一行中Object 引用不要设置为 object 的实例。如何对我的方法进行单元测试?

标签: c#asp.netasp.net-mvcunit-testingnunit

解决方案


推荐阅读