如何从Full .Net框架测试项目引用ASP.NET Core项目?

时间:2016-10-22 09:49:36

标签: .net unit-testing asp.net-core mstest

在Visual Studio 2015 Update 3中,我基于public static void main(String[] args) { Scanner perfect = new Scanner(System.in); System.out.print("Enter any integer number : "); int n = perfect.nextInt(); List<Integer> factors = getPerfectFactors(n); if (factors != null) { System.out.println (n + " is a perfect number. It's the sum of" + factors.stream() .map(String::valueOf) .collect(Collectors.joining(", ")); } else { System.out.println(n+" is not a perfect number"); } } public static List<Ingeger> getPerfectFactors(int n) { int sum = 0; List<Ingeger> factors = new LinkedList<>(); for (int i = 1; i < n; i++) { if (n % i == 0) { sum += i; factors.add(i); } if (sum > n) { // Early return optimization, not material to the solution return null; } } if (sum == n) { return factors; } else { return null; } } 和包含我的域模型的.net类库项目创建了一个ASP.NET Core项目。

然后我创建了一个单元测试项目(带Full .NET Framework),以便测试我的控制器和我的域对象。这是目录结构:

ms-test

我可以通过使用测试项目下的References项来引用asp.net核心Web项目作为依赖项。

问题是来自asp.net核心项目的类型在Test项目中不可用(找不到类型或命名空间名称错误)。

我在stackoverflow中找到了以下问题:How to reference an ASP.NET 5 project from another project? 但它不是很有帮助;在测试项目中创建引用Web项目的project.json文件无法解析类型。

我应该创建一个单独的.Net核心测试项目来测试asp.net核心项目吗?

更新 这是WebProj的project.json文件:

Proj
|-src
   |-WebProj
|-DomainProj
|-TestProj

1 个答案:

答案 0 :(得分:4)

您的单元测试项目是csproj,您的网络应用程序可能是xproj。很遗憾,您无法直接引用xproj中的csproj。有一个document in the dotnet/corefx Github repo解释了如何将您的Web应用程序转换为csproj。

相关问题: