单元测试中的元素在完成后仍待处理

2024-03-18

运行测试后,我在 Resharper 中看到此警告,所有测试都通过了。

2018.08.09 11:11:58.524 WARN 元素 Data.Tests.Infra.IntegrationTests.ResolvedIdentityTests 已离开 运行完成后待处理。 2018.08.09 11:11:58.524 WARN 元素 Data.Tests.Infra.IntegrationTests.ResolvedIdentityTests.Reso 已离开 运行完成后待处理。

它们是在测试数据库中设置一些 sql 的集成测试,然后针对该数据库运行测试。

这是完整的测试类:

namespace Data.Tests.Infra.IntegrationTests
{
    using System;
    using System.Data.SqlClient;
    using System.Threading.Tasks;
    using Dapper;
    using Infrastructure.Models;
    using Microsoft.VisualStudio.TestTools.UnitTesting;

    [TestClass]
    public sealed class ResolvedIdentityTests
    {
        [ClassInitialize]
        public static void Initialise(TestContext context)
        {
            const string sql = @"insert into infra.tblUnresolvedIdentities
                                (DeviceId, Fqdn, TimeConflictOccured)
                                values
                                ('85E33FB5-C321-4EF2-994C-C835F136BA0C', 'unr.test.foo', '2018-08-06 12:16:24.183'),
                                ('D3F32F97-2375-47CC-86E7-37C50ABAC85F', 'unr2.test.foo', '2018-08-06 12:16:24.183')

                                insert into infra.tblOrg ([Name]) values ('rito')
                                declare @orgId int = (select OrgId from infra.tblOrg where [Name] = 'rito');

                                insert into infra.tblSite ([SiteName], [OrgId]) values ('rito.site', @OrgId);
                                declare @siteId int = (select SiteId from infra.tblSite where [SiteName] = 'rito.site');

                                insert into infra.tblDevice
                                (DeviceId, [Name], SiteId)
                                values
                                ('CE810507-C614-4C65-9675-569EEFFDBC9F', 'unr.test.foo', @siteId),
                                ('94FF1C23-0B7E-41CB-A0F8-058CED0465B3', 'blacklisted.test.foo', @siteId)

                                insert into infra.tblBlacklistedAgents
                                (DeviceId, Fqdn)
                                values
                                ('94FF1C23-0B7E-41CB-A0F8-058CED0465B3', 'rit.test.com')";
            RunSql(sql);
        }

        [ClassCleanup]
        public static void Cleanup()
        {
            const string sql = @"delete from infra.tblBlacklistedAgents where DeviceId = '94FF1C23-0B7E-41CB-A0F8-058CED0465B3'
                                 delete from infra.tblUnresolvedIdentities where DeviceId in ('85E33FB5-C321-4EF2-994C-C835F136BA0C', 'D3F32F97-2375-47CC-86E7-37C50ABAC85F')
                                 delete from infra.tblDevice where DeviceID in( 'CE810507-C614-4C65-9675-569EEFFDBC9F', '94FF1C23-0B7E-41CB-A0F8-058CED0465B3')
                                 delete from infra.tblsite where SiteName = 'rito.site'
                                 delete from infra.tblorg where Name = 'rito'
                                 delete from infra.tblResolvedIdentities where ActualDeviceId = 'CE810507-C614-4C65-9675-569EEFFDBC9F'";
            RunSql(sql);
        }

        private static void RunSql(string sql)
        {
            using (var sqlConnection = new SqlConnection(Configuration.InitConfiguration()["ConnectionString"]))
                sqlConnection.Execute(sql);
        }

        [TestMethod]
        public async Task ResolvedIdentityTests_ShouldResolveAnIdentityAndAddRowToResolvedIdentityTable()
        {
            var infra = new Infrastructure.Identities(Configuration.InitConfiguration()["ConnectionString"]);
            await infra.ResolveIdentity(erroneousDeviceId: new Guid("85E33FB5-C321-4EF2-994C-C835F136BA0C"), actualDeviceId: new Guid("CE810507-C614-4C65-9675-569EEFFDBC9F"));

            // now call GetResolvedIdentity so we can verify it was resolved.
            var resolvedIdentity = await infra.GetResolvedIdentity(new Guid("85E33FB5-C321-4EF2-994C-C835F136BA0C"));
            Assert.AreEqual(actual: resolvedIdentity.ResolvedIdentity.ActualDeviceId, expected: new Guid("CE810507-C614-4C65-9675-569EEFFDBC9F"));
            Assert.AreEqual(actual: resolvedIdentity.ResolvedIdentity.SiteName, expected: "rito.site");
            Assert.IsFalse(resolvedIdentity.ResolvedIdentity.Id == -1);
            Assert.AreEqual(actual: resolvedIdentity.ResolutionStatus, expected: IdentityResolutionState.Resolved);
        }

        [TestMethod]
        public async Task GetResolvedIdenity_ShouldResolveToBlacklisted()
        {
            var infra = new Infrastructure.Identities(Configuration.InitConfiguration()["ConnectionString"]);
            var resolvedIdentity = await infra.GetResolvedIdentity(new Guid("94FF1C23-0B7E-41CB-A0F8-058CED0465B3"));

            Assert.AreEqual(actual: resolvedIdentity.ResolutionStatus, expected: IdentityResolutionState.Blacklisted);
            Assert.AreEqual(actual: resolvedIdentity.ResolvedIdentity, expected: null);
        }

        [TestMethod]
        public async Task GetResolvedIdenity_ShouldResolveToStillPending()
        {
            var infra = new Infrastructure.Identities(Configuration.InitConfiguration()["ConnectionString"]);
            var resolvedIdentity = await infra.GetResolvedIdentity(new Guid("D3F32F97-2375-47CC-86E7-37C50ABAC85F"));

            Assert.AreEqual(actual: resolvedIdentity.ResolutionStatus, expected: IdentityResolutionState.Pending);
            Assert.AreEqual(actual: resolvedIdentity.ResolvedIdentity, expected: null);
        }
    }
}

我不知道为什么这些测试仍然悬而未决,或者这些警告是否是我应该关心的事情。

这是在 Resharper 测试运行程序中,在 MS 测试运行程序中运行时不显示警告(但也许它不显示警告?)


它看起来像是 ReSharper 中的一个错误:

https://resharper-support.jetbrains.com/hc/en-us/community/posts/360000057490-Unit-Test-Sessions-reports-Inconclusive-Test-not-run- https://resharper-support.jetbrains.com/hc/en-us/community/posts/360000057490-Unit-Test-Sessions-reports-Inconclusive-Test-not-run-

https://youtrack.jetbrains.com/issue/RSRP-469301 https://youtrack.jetbrains.com/issue/RSRP-469301

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单元测试中的元素在完成后仍待处理 的相关文章

  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 观测信息被泄露

    我有一堂课 我用它作为自身的观察者 当其他对象更改其属性时 我需要它通知我 当它被释放时 我懒得删除观察者 但是我收到这样的错误 An instance 0xf819680 of class was deallocated while ke
  • 如何使用{pre,in,post}顺序遍历结果重建BST

    我们知道前序 中序和后序遍历 什么算法可以重建 BST 因为是 BST in order可以排序自pre order or post order 其实 无论是pre order or post order只需要 如果你知道比较函数是什么 F
  • 如何使用 Selenium WebDriver 在新选项卡(chrome)中打开链接?

    System setProperty webdriver chrome driver D softwares chromedriver win32 chromedriver exe WebDriver driver new ChromeDr
  • MemoryStream 返回时禁用读取

    在我的程序中 我基本上是读取一个文件 对其进行一些处理 然后将其作为内存流传递回主程序 该内存流将由流读取器处理 这一切都将由我的 main 旁边的一个类来处理 问题是 当我从另一个类中的方法返回内存流时 canread 变量设置为 fal
  • 快速读取交错数据的方法?

    我有一个包含多个数据通道的文件 该文件以基本速率采样 每个通道都以该基本速率除以某个数字进行采样 它似乎总是 2 的幂 尽管我认为这并不重要 所以 如果我有渠道a b and c 在 1 2 和 4 的分隔符处采样 我的流将如下所示 a0
  • 如何使用主题中本地存储的字体覆盖默认字体?

    我正在使用 Quarto 构建一个网站 并尝试覆盖主题中的默认字体 我的总体目标是使用本地谷歌字体而不是使用谷歌API my quarto yml看起来像这样 project type website format html theme l
  • MongoDB shell中无序批量更新记录

    我有一个包含数百万个文档的集合 类似于以下内容 id ObjectId value 0 53 combo h 0 v 0 42 h 1 v 1 32 问题是这些值存储为字符串 我需要将它们转换为浮点 双精度 我正在尝试这个并且它正在工作 但
  • 在函数中使用非静态值作为默认参数

    有没有一种好的方法可以将非静态值作为函数中的默认参数 我见过一些对同一问题的较旧的回答 这些回答总是以明确地写出超载而告终 这在 C 17 中还有必要吗 我想做的是做类似的事情 class C const int N Initialized
  • 请推荐一个可处理可拖动元素碰撞检测的 JQuery 插件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们正在使用可拖动 http jqueryui com demos draggable JQuery UI 插件 需要禁止元素之间重叠 我
  • 最终方法是否会阻止 Hibernate 为此类实体创建代理?

    Hibernate 使用代理来实现集合的延迟加载 甚至单端关联 根据Hibernate的 3 6 5 参考文档 部分 21 1 3 单端关联代理 如果这样的代理包含 任何最终方法 我的问题是 此限制仅适用于持久字段的 getter sett
  • 如何使用 Jackson (2.x) 提供程序设置 Jersey 客户端来处理 POST 请求

    我正在努力设置 Jersey 客户端来测试对资源的 POST 请求 我的 Jersey 和 Jackson 依赖项如下所示
  • 更改传单标记图标

    我正在使用 Dennis Wilhelm 的 Leaflet Slider 在 Leaflet 地图上显示数据的变化 我正在尝试更改标记图标 但效果不佳 那么 当使用Leaflet Slider显示随时间的变化时 如何更改标记图标呢 我必须
  • 在 Excel 中计算静态随机数(计算一次)

    我正在寻找一种在 Excel 中计算一次随机数的方法 所以它是在第一次调用时计算的 但之后它就不会改变 举例来说 如果我在 B1 有这样的东西RANDONCE A1 然后我第一次在 A1 中输入一个值时 它会计算一个随机值 但随后它不会再次
  • 如何在TPM中加载和使用持久对称密钥?

    我只是想将一个 32 字节长的对称密钥持久存储在 TPM 的 NV 存储中 并在重新启动后使用它 无需将其从 TPM 中取出 来加密小型数据 我尝试用两种不同的方式做到这一点 1 使用 TPM 的随机字节生成器创建密钥 在NV中定义空间并将
  • Ruby 电子邮件编码和引用的可打印内容

    有没有一种直接的方法来指导 TMail 将正文编码为 quoted printable 我只看到其中用于解码此类内容的方法 而不是创建它 你刚刚使用吗TMail 或者你正在使用它ActionMailer 看起来像TMail本身不具备编码为q
  • Java从其他目录导入

    我正在使用 Java 构建企业服务总线 ESB 我不会进入 细节但我必须构建多个使用相同类的服务器 我有以下目录结构 server1 Main java server2 Main java com Database java 我想从Main
  • ngx-bootstrap - 用于输入的时间选择器弹出窗口

    我正在使用time picker组件来自ngx引导程序 https valor software com ngx bootstrap timepicker我想包括time picker如下输入框 更多以弹出对话框的方式 用于日期选择器 ht
  • OrderedDictionary、ListDictionary 和 HybridDictionary 需要什么?

    当三种不同的字典 OrderedDictionary ListDictionary 和 HybridDictionary 都执行相似的功能时 它们的需求是什么 它们都没有排序 并且可以通过所有集合中的键来检索集合的元素 那么 三个不同类的目
  • bootstrap css,如何在容器内制作全宽div

    我想用引导框架制作这种布局 menu x full width site content
  • 单元测试中的元素在完成后仍待处理

    运行测试后 我在 Resharper 中看到此警告 所有测试都通过了 2018 08 09 11 11 58 524 WARN 元素 Data Tests Infra IntegrationTests ResolvedIdentityTes