Dav*_*nes 9 c# mstest datasource asp.net-core
在.Net核心单元测试项目中使用MSTest.我试图使用csv数据源来提供测试方法的数据.
以前,我会在.Net Framework测试项目中使用类似下面的内容:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"data.csv", "data#csv", DataAccessMethod.Sequential),
DeploymentItem("data.csv"),
TestMethod]
public void ValuesController_Post()
{
_controller.Post(TestContext.DataRow["body"]);
_valuesRepository.Verify(_ => _.Post(It.IsAny<string>()), Times.Once);
}
Run Code Online (Sandbox Code Playgroud)
这里的关键是TestContext中的DataRow属性.这似乎不存在于TestContext的.Net Core版本中.
我将如何在.Net Core中执行此操作?
自从转向 aspnet 核心后,我一直无法使用相同的 [Datasource(...)] 属性来迭代测试数据,我的数据驱动测试总是被跳过。
您是否考虑过使用 [DataTestMethod] 和 [DynamicData] 切换到另一种方法,并使用读取您文件的自定义源?
这是一篇关于这个的好文章:
https://www.meziantou.net/2018/02/05/mstest-v2-data-tests
也许另一种方法是在测试开始时读取整个文件,然后作为单个单元测试遍历数据集?
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |