【发布时间】:2018-07-14 00:43:23
【问题描述】:
我在新的 .net 核心框架中进行集成测试时遇到一个问题。
我在 appsettings.json 配置中放入了一些自定义数据,并希望在某个类中使用它。
"Data": {
"FolderName": "Data",
"Files": {
"Json": "work.json",
"Csv": "work.csv"
}
}
但是当我使用 IConfiguration 接口获取类内的数据时 - folderName 变量为空。
private void InitializeDataFileFullPath(IConfiguration configuration)
{
var root = Directory.GetCurrentDirectory();
var folderName = configuration["Data:FolderName"];
if (folderName == null)
{
throw new NullReferenceException("Folder name with data files isn't specified in appsettings.json");
}
还有root 变量显示不正确的路径-".IntegrationTests\bin\Debug\netcoreapp2.0",但我希望看到类似\.WebApi\ 的东西
我遵循this 手册。我也想做类似there,但是没有 project.json 文件了。
附:
- 如果我在 Visual Studio 下运行项目 - 一切都很好。
- 我的夹具类与微软手册中的完全一样。我认为所有这些操作都为我提供了至少在正确目录中进行测试的项目。
感谢您的建议。
(添加) 我的帖子的主要内容是,从 appsettings 获取显示了集成测试和程序常见运行的不同值。我希望它是一样的。
【问题讨论】:
-
这不是重复的,因为新的 .net 核心项目中不再有 project.json 文件了。
标签: asp.net-core .net-core integration-testing xunit.net appsettings