c# - 如何对从 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 的实例。如何对我的方法进行单元测试?
解决方案
推荐阅读
- mysql - MariaDB:OPTIMIZE 上的键重复条目,没有重复
- python-3.x - 合并操作正在占用整个 RAM
- css - 全局安装时无法在 React-app 中包含引导程序
- c++ - 在 GLFW 窗口中启用多重采样不会提高抗锯齿的质量
- php - 支付网关中使用的 resource.cgn 文件是什么,什么程序可以打开它以查看其内容?
- python - 什么是警告“在 mel 频率基础上检测到空过滤器”。' 关于?
- java - java.util.NoSuchElementException 错误,scan.next() 问题
- android - 如何将 FAB 塑造成圆角按钮(药丸形状),类似于联系人应用程序的联系人详细信息屏幕?
- sql - 用第二个表中的值更新第一个表中的列
- php - 如何根据页面内容使 setSignatureAppearance() 位置动态?