编辑:在工作中,我进一步隔离了问题,该问题仅在模拟具体类时出现,而不是在界面上,因此我正在编辑标题。
语境
似乎NSubstitute的.Received(...)始终为绿色,无论是否发生任何调用。为了解决这个问题,我创建了一个两行单元测试,实际上什么也没叫,仍然检查有10个电话是绿色的:
var processor = Substitute.For<Processor>();
processor.Received(10).Process(Arg.Any<MyType>()); // this is green (do not throws)
Run Code Online (Sandbox Code Playgroud)
使用最新的稳定版3.1.0
题
我想念什么吗?如果是,检查特定数量的呼叫的正确方法是什么?(坏消息是,如果这是一个错误,则我们的项目充满了潜在的错误绿色。
我想拉纳米服务器:1903
docker pull mcr.microsoft.com/windows/nanoserver:1903
Run Code Online (Sandbox Code Playgroud)
此命令行是从Docker Hub复制的,该页面还说,该映像是在 2 周前创建的:05/22/2019
当我执行 pull 命令时,我收到错误消息。
1903:从 windows/nanoserver 中提取
清单列表条目中没有未知的匹配清单
我缺少什么?
我使用的是 Windows 10,一些额外的诊断信息:
Swarm:非
活动 默认隔离:hyperv
内核版本:10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
操作系统:Windows 10 Pro Version 1809(操作系统内部版本 17763.404)
OSType:windows
架构:x86_64
CPU:28
总内存:63.69GiB
调试模式(客户端): false
调试模式(服务器): true
注册表: https: //index.docker.io/v1/
实验:true
语境
我正在尝试迁移一个使用app.UseOpenIdConnectAuthentication()但在包中找不到此扩展方法的应用程序此扩展方法Microsoft.AspNetCore.Authentication.OpenIdConnect
的实际来源使用的类OpenIdConnectMiddleware似乎也已消失。
题
如何迁移此应用程序?
语境
我注意到,在 VS 2019 中从开箱即用的模板创建新的 ASP.NET Core Razor 页面应用程序后,即使是具有最纯粹模型类的最纯粹的html 表单也会使用<input name="__RequestVerificationToken" type="hidden" value="...">
问题
我是否遗漏了某些内容,并且在某个地方有一个显式属性/语句指示 ASP.NET Core 添加防伪功能,或者现在这是默认设置?(这使得 using[AutoValidateAntiforgeryToken]过时了)
...或者...
这只是始终无条件<input name="__RequestVerificationToken" type="hidden" value="...">渲染的,并且我可以针对它打开服务器端验证吗?这种情况下如何进行冒烟测试验证是否有效?[AutoValidateAntiforgeryToken]
示例代码
@page
@model TestFormModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<form method="post">
<input type="text" name="myinput"/>
<input type="submit" value="Submit" />
</form>
</div>
//[AutoValidateAntiforgeryToken]
public class TestFormModel : PageModel
{
private readonly ILogger<TestFormModel> _logger;
public TestFormModel(ILogger<TestFormModel> logger)
{
_logger = logger;
}
public void OnGet()
{ …Run Code Online (Sandbox Code Playgroud) request-validation antiforgerytoken asp.net-core razor-pages
我有一个 dockerfile,它的第五行是
RUN apt update -y
Run Code Online (Sandbox Code Playgroud)
假设前五行在未来的构建中不会改变。只有下面的行会改变。
问题
当我后来一次又一次地构建这个图像时,
apt update再次运行(因此生成不断变化的包版本,以不确定的结果结束)或...也许我的措辞不太清楚,所以我尝试举例说明:
当然,我可以使用 switch/case 语句来做到这一点,但我想知道是否有任何内置或实用程序格式,什么可以开箱即用地做到这一点。
提前致谢
我可以使用 PowerShell 创建自签名证书:
\n\n$cert = New-SelfSignedCertificate \xe2\x80\x93DnsName www.test.com -CertStoreLocation \xe2\x80\x9ccert:\\LocalMachine\\My\xe2\x80\x9d\nRun Code Online (Sandbox Code Playgroud)\n\n因为这是一个自动化测试场景,所以我必须允许多次运行。下次我(这是一个完全独立的会话)想找到所有 dns 名称为 www.test.com 的证书,并完全擦除它们。它可能不止一个,当然还有不同的指纹等。
\n\n不幸的是,我找不到任何删除证书的 PowerShell 命令。我想我应该基于 dns 进行查询,然后在循环中删除...
\n\n问题
\n\n这个任务可以完全在 Powershell 中解决吗?(删除具有给定 DNS 名称的所有证书)
\n我尝试在PowerShell中使用字符串插值:
$myvariable = "World"
Write-Host "Hello $myvariable"
Run Code Online (Sandbox Code Playgroud)
上面的代码运行正常,写着"Hello World"
但是,如果在字符串中的字符后跟变量部分形成一个合法的变量名称,由于歧义,它无法解析
$myvariable = "World"
Write-Host "Hello $myvariableimmediately continuing"
Run Code Online (Sandbox Code Playgroud)
题
我明白这应该不行,但尽管使用谷歌搜索我找不到这样的例子.我想念的语法是什么?
asp.net-core ×2
c# ×2
docker ×2
powershell ×2
.net ×1
dockerfile ×1
mocking ×1
nano-server ×1
nsubstitute ×1
razor-pages ×1
unit-testing ×1
windows ×1