小编Nat*_*nar的帖子

Automapper 项目无法在内存数据库中使用 EFCore(单元测试)

我们使用 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)

xunit automapper .net-core

5
推荐指数
1
解决办法
612
查看次数

永久禁用npm版本的git标签版本

运行命令“npm version”时,您可以提供 --no-git-tag-version 标志来阻止生成和提交标签。有没有办法使它成为默认行为,这样我就不必每次都记住输入 --no-git-tag-version ?

git npm

5
推荐指数
1
解决办法
4033
查看次数

生产代码中的NUnit断言

我试图找到在生产代码中包含断言的最佳实践,但我对所发现的信息很少感到惊讶。

首先,在生产代码中是否有断言通常是否可以接受?

其次,我读到内置的.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)

c# asp.net testing nunit

3
推荐指数
1
解决办法
240
查看次数

如何解决 VSCode 中虚拟文件的问题?

我正在开发一个 .Net Core 应用程序,并且不断遇到这个问题,在 VSCode 的“__virtual”文件的“问题”窗口中出现各种随机问题。实际的 razor 页面 (.cshtml) 没有任何问题,一切都按照我们的预期运行。VSCode 有没有办法批量忽略 __virtual 文件中的所有问题?

__virtual 文件中的问题

visual-studio-code

3
推荐指数
1
解决办法
1185
查看次数

在 OnClientClick 中执行 Eval

我在 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(&lt;%# Eval(&quot;NotificationData&quot;) %>);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)

所以我的问题是:

  1. 为什么 eval 似乎根本不起作用?
  2. 为什么客户端点击的所有内容都是这样编码的?
  3. 为什么该回发被放置在链接的 href 中?正如您在客户端单击中看到的那样,我不想要回发,因为此按钮会打开一个对话框并将数据传递给它。

javascript c# asp.net

2
推荐指数
1
解决办法
3823
查看次数

切换多个复选框

我似乎无法让jquery切换多个复选框.我想抓住页面上具有特定名称的所有复选框并切换它们.这是我目前正在尝试但它只是生成下面的错误,我不知道为什么.我在这里错过了什么?

$("input[name=recurringGridCheckbox]").prop("checked", !(this.prop("checked")));
Run Code Online (Sandbox Code Playgroud)

对象不支持属性或方法'prop'

javascript checkbox jquery

2
推荐指数
1
解决办法
93
查看次数

查看2个逗号分隔字符串之间是否有任何值匹配

返回bool的最佳方法是什么,表示两个逗号分隔的字符串之间是否有任何值匹配?例如:

"1,2,3,4"和"2,5,6,7"返回true,因为两个字符串都有元素2

EX2:

"1,2,3,4"和"5,6,7,8"返回false,因为没有共同的元素

.net c# linq asp.net

-2
推荐指数
1
解决办法
86
查看次数