我们使用 Automappers ProjectTo 方法来构建 DTO 对象,该对象是较大数据库视图的子集。它在运行实际应用程序时按预期工作,但我们遇到了一个问题,即在使用 EF Core 内存数据库进行单元测试时它没有给出预期结果。无论查询什么,它似乎都只返回 0 个结果。这是我试图运行的测试。
[Fact]
public async Task GetTemplateAdHocReportList_ReturnsOnlyTemplateReports()
{
await TestHelper.SeedFull(ReportContext); // Calls SeedAdHocReports below along with other seed methods
var results = await _sut.GetTemplateAdHocReports();
results.Where(x => !x.IsTemplate).Count().Should().Be(0);
}
Run Code Online (Sandbox Code Playgroud)
这是种子数据:
public static async Task SeedAdHocReports(ReportContext context)
{
var reports = new AdHocReport[]
{
new AdHocReport()
{
Id = 1,
Name = "DevExtreme Example Report",
IsTemplate = true,
AdHocDataSourceId = 1,
Fields = "[{\"caption\":\"Category\",\"dataField\":\"ProductCategoryName\",\"expanded\":true,\"area\":\"row\"},{\"caption\":\"Subcategory\",\"dataField\":\"ProductSubcategoryName\",\"area\":\"row\"},{\"caption\":\"Product\",\"dataField\":\"ProductName\",\"area\":\"row\"},{\"caption\":\"Date\",\"dataField\":\"DateKey\",\"dataType\":\"date\",\"area\":\"column\"},{\"caption\":\"Amount\",\"dataField\":\"SalesAmount\",\"summaryType\":\"sum\",\"format\":{\"type\":\"currency\",\"precision\":2,\"currency\":\"USD\"},\"area\":\"data\"},{\"caption\":\"Store\",\"dataField\":\"StoreName\"},{\"caption\":\"Quantity\",\"dataField\":\"SalesQuantity\",\"summaryType\":\"sum\"},{\"caption\":\"Unit Price\",\"dataField\":\"UnitPrice\",\"format\":\"currency\",\"summaryType\":\"sum\"},{\"dataField\":\"Id\",\"visible\":false}]",
Status = true
}
};
context.AdHocReports.AddRange(reports);
await context.SaveChangesAsync(); …Run Code Online (Sandbox Code Playgroud) 运行命令“npm version”时,您可以提供 --no-git-tag-version 标志来阻止生成和提交标签。有没有办法使它成为默认行为,这样我就不必每次都记住输入 --no-git-tag-version ?
我试图找到在生产代码中包含断言的最佳实践,但我对所发现的信息很少感到惊讶。
首先,在生产代码中是否有断言通常是否可以接受?
其次,我读到内置的.NET Debug.Assert实际上会自动禁用其生产代码,并且实际上只能在开发环境中运行。那是真的,NUnit也内置了此功能吗?
例如,如果我在生产代码中具有以下内容,则断言会被忽略吗?
var sortedActuals = actuals.OrderByDescending(a =>
{
Assert.That(a.GLPeriodDateTime, Is.Not.Null, "GLPeriodDateTime was null when it should not be");
return a.GLPeriodDateTime.Value;
})
Run Code Online (Sandbox Code Playgroud) 我正在开发一个 .Net Core 应用程序,并且不断遇到这个问题,在 VSCode 的“__virtual”文件的“问题”窗口中出现各种随机问题。实际的 razor 页面 (.cshtml) 没有任何问题,一切都按照我们的预期运行。VSCode 有没有办法批量忽略 __virtual 文件中的所有问题?
我在 OnClientClick 中使用数据绑定 Eval 时遇到问题,我找不到正确进行此绑定的方法。这是我的代码
<asp:LinkButton runat="server" ID="ItemMenuBtn" CssClass="ui-button ui-widget ui-corner-all" OnClientClick='OpenItemMenu(<%# Eval("NotificationData") %>);return false;'>
<i class="fa fa-lg fa-bars" aria-hidden="true"></i>
</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
我希望输出类似于:
<a onclick="OpenItemMenu({JSON notification data here});return false;" id="some id" class="ui-button ui-widget ui-corner-all">
Run Code Online (Sandbox Code Playgroud)
但相反,我得到:
<a onclick="OpenItemMenu(<%# Eval("NotificationData") %>);return false;" id="ctl00_m_g_28e3d385_2509_4d3a_9c53_1d17b87a802b_gvNoteworthyItems_ctl02_ItemMenuBtn" class="ui-button ui-widget ui-corner-all" href="javascript:__doPostBack('ctl00$m$g_28e3d385_2509_4d3a_9c53_1d17b87a802b$gvNoteworthyItems$ctl02$ItemMenuBtn','')">
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
我似乎无法让jquery切换多个复选框.我想抓住页面上具有特定名称的所有复选框并切换它们.这是我目前正在尝试但它只是生成下面的错误,我不知道为什么.我在这里错过了什么?
$("input[name=recurringGridCheckbox]").prop("checked", !(this.prop("checked")));
Run Code Online (Sandbox Code Playgroud)
对象不支持属性或方法'prop'
返回bool的最佳方法是什么,表示两个逗号分隔的字符串之间是否有任何值匹配?例如:
"1,2,3,4"和"2,5,6,7"返回true,因为两个字符串都有元素2
EX2:
"1,2,3,4"和"5,6,7,8"返回false,因为没有共同的元素