我使用 .NET 创建了一个新的 ASP.NET Core React 应用程序dotnet new react。npm test然后我添加了一些 Jest 单元测试,当我在命令行上运行时,它们运行得很好。
我希望能够使用“测试资源管理器”窗口或 ReSharper 从 Visual Studio 2019 运行测试。
首先,ReSharper 似乎只支持 Jasmine,而不支持 Jest(ReSharper 文档,功能请求)。
所以我尝试使用测试资源管理器,遵循这个官方指南。它支持 Jest。但是,ASP.NET Core 的 React 模板不是 Node.js 项目,因此测试框架等选项不可用。因此,测试资源管理器找不到任何测试。
然后我尝试使用命令运行测试vstest.console.exe MyProject.csproj /TestAdapterPath:"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\NodeJsTools\TestAdapter"。输出给了我一些希望:
Microsoft (R) Test Execution Command Line Tool Version 16.5.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the …Run Code Online (Sandbox Code Playgroud) 我有一个 .NET Core 2.0 应用程序,需要将 UTC 转换DateTime为本地服务器时间。该软件可在 Linux (CentOS 7) 和 Windows 上运行。
在 Windows 上,代码按预期工作:DateTime.UtcNow返回 UTC 时间并DateTime.UtcNow.ToLocalTime()返回调整为当前服务器时间的时间。
但是,在 CentOS 上,DateTime.UtcNow.ToLocalTime()返回相同的 UTC 时间而不是本地时间:
$"Utc: {DateTime.UtcNow}, Kind: {DateTime.UtcNow.Kind}";
$"Local: {DateTime.UtcNow.ToLocalTime()}, Kind: {DateTime.UtcNow.ToLocalTime().Kind}";
Run Code Online (Sandbox Code Playgroud)
输出
"Utc: 07/19/2018 10:53:03, Kind: Utc"
"Local: 07/19/2018 10:53:03, Kind: Local"
Run Code Online (Sandbox Code Playgroud)
CentOS 服务器时间应该是 UTC+3:
$ date
Thu Jul 19 13:55:14 EEST 2018
Run Code Online (Sandbox Code Playgroud)
编辑:DateTime.Now还将当前时间返回为 UTC,而不是本地时间。
这个回答表明应该在现有的 MVC 应用程序旁边为 Umbraco 内容管理创建一个新项目。我按照建议创建了新项目,并通过 NuGet 将 Umbraco 安装到其中。
所以现在我有 2 个项目,一个用于我的 MVC 应用程序,一个用于 CMS。两者都按预期工作,这意味着我可以在构建新创建的 Umbraco 项目后通过 Umbraco UI 添加内容。
我的问题是,如何从 MVC 应用程序内部查询内容以便在我的视图中显示可管理的内容?似乎可以通过Umbraco REST API 完成,但是由于两个数据库(用于 MVC 应用程序和 CMS 应用程序)将驻留在同一服务器上,这似乎效率不高。
c# ×2
.net ×1
.net-core ×1
asp.net-core ×1
asp.net-mvc ×1
datetime ×1
jestjs ×1
reactjs ×1
umbraco ×1
unit-testing ×1