首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我在行中运行多个测试时,NSubstitue Received()不起作用,但是如果我单独运行测试,它们就会起作用

当你在行中运行多个测试时,NSubstitute的Received()方法可能不起作用的原因可能是由于测试之间的相互影响导致的。这可能是因为NSubstitute的Received()方法是通过检查方法是否被调用来验证行为的,而在多个测试同时运行时,测试之间的相互干扰可能导致方法的调用无法被正确地捕获和验证。

为了解决这个问题,你可以尝试以下几种方法:

  1. 使用独立的实例:确保每个测试都使用独立的实例来创建和使用NSubstitute对象。这样可以避免测试之间的相互干扰,确保每个测试都能正确地验证方法的调用。
  2. 使用NSubstitute的ClearReceivedCalls()方法:在每个测试之前,使用NSubstitute的ClearReceivedCalls()方法清除之前的方法调用记录。这样可以确保每个测试都从一个干净的状态开始,并且不会受到之前测试的影响。
  3. 使用NSubstitute的ReceivedWithAnyArgs()方法:如果你只关心方法是否被调用,而不关心具体的参数值,可以使用NSubstitute的ReceivedWithAnyArgs()方法来验证方法的调用。这样可以避免测试之间的相互干扰,同时确保方法的调用被正确地捕获和验证。

总之,当在行中运行多个测试时,NSubstitute的Received()方法可能不起作用的原因是测试之间的相互干扰导致方法的调用无法被正确地捕获和验证。通过使用独立的实例、清除之前的方法调用记录或使用ReceivedWithAnyArgs()方法,可以解决这个问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在您的CI或测试环境中使用Docker-in-Docker?三思而后行

的更改在的Debian机器和Ubuntu测试虚拟机上工作(并且所有测试都会通过),但它会在迈克尔克罗斯比的机器上崩溃并烧毁 (如果记得很好的话,它就是Fedora)。...有许多组合不起作用。例如,您无法在AUFS之上运行AUFS。如果在BTRFS之上运行BTRFS,它应该首先工作,但是一旦嵌套子卷,删除父子卷将失败。...Device Mapper不是命名空间,因此如果Docker的多个实例在同一台机器上使用它们它们将能够看到(并影响)彼此的图像和容器支持设备。没有bueno。...这意味着如果您/var/lib/docker在多个Docker实例之间共享目录,那么您将度过一段美好时光。当然,它可能会起作用,特别是在早期测试期间。...“看哪,可以docker run ubuntu!”但是尝试做更多的事情(从两个不同的实例拉出相同的图像......)并观察世界燃烧。

68710

我们应该合并网站上的CSSJS文件吗?

使用HTTP/1.1,浏览器可以重复使用 相同的TCP连接 通过Keep Alives按顺序发送多个请求;但是,浏览器通常会打开多个TCP连接,以便向服务器发送更多请求(检索更多页面资产)。...这是因为逐步加载网站会给你的用户提供视觉反馈,你的页面正在运行。访问者还可以在页面逐步加载尽早开始消费内容。...如果CSS/JS文件是单独的(即,不合并) ,浏览器可能有机会单独处理它们,并在处理它们后立即开始渲染,而不是单个长阻塞事件。...这样,访问者也可以尽早开始看到页面上的内容,让他们放心,你的页面正在运行 3.CSS/JS组合可能会破坏你的网站 CSS/JS文件在分开很好,但在组合成单个文件它们可能不会很好地发挥。...例如,按钮在页面上不起作用,或页面元素消失,或滑块无法按设计工作,等等。 无论使用哪个插件来组合CSS/JS文件,的建议是 始终广泛测试你的网站 以确保站点功能不会被破坏。

1.5K20
  • 设置 PostgreSQL 以运行集成测试

    隔离是首要目标什么不起作用使用事务使用 SQLite使用`pg_tmp`什么有效模板数据库安装内存盘使用带有内存磁盘的 Docker 容器管理测试数据库结论在测试方面,实现性能和可靠性至关重要。...什么不起作用使用事务我们尝试的第一种方法是使用事务。我们将在每次测试开始启动一个事务,并在结束回滚它。...),但在处理测试多个组件之间的集成的测试,它很快就会成为问题。...您可以创建副本数据库并单独运行每个测试。然而,模板数据库本身对于我们的用例来说不够快。...数据存储在内存,这意味着它不是持久的。如果数据库崩溃或者服务器重启,数据就会丢失。然而,对于运行测试来说,这不是问题。每次创建新数据库,都会从模板数据库重新创建数据。

    8410

    Python DeBug的7个步骤【Programming】

    不会说创建了一个测试当我试图模仿一个错误调用时,它通过了测试但是,嗯,做到了,不认为这是特别不寻常的。 从的错误吸取教训。 2....将断点粘贴在代码堆栈的上面一点,然后环顾四周,看看事情是否看起来像它们应该的那样。 “但是Maria,”听到你说,“如果有一个堆栈跟踪,这些都是有帮助的,但是只有一个失败的测试。...是的,已经在的代码库查找了一个函数调用的位置,但是这可能会变得很乏味,并且对于一个流行的函数来说并不能缩小范围。Pdb非常有用。 您按照的建议,插入pdb断点并运行测试。...运行测试,当它到达断点,按下w并查看堆栈。如果通过查看堆栈,您不知道另一个调用是如何或者在哪里出错的,那么在堆栈中找到属于您的一些代码,并在该文件中放置一个断点,在堆栈跟踪的断点之上放置一行。...一旦您完成了测试,也许还有其他测试,就可以开始修改代码的内容,看看是否可以缩小问题的范围。 记住,以全新的提交来开始故障排除,这样您就可以轻松地退出不起作用的更改。

    1.2K00

    Flutter学习笔记:BottomNavigationBar实现多个Navigation

    最近研究了一下Flutter,但是在使用Navigator的时候遇到了一个很头痛的问题,就是当我们去来回切换导航按钮,Flutter会重新build,从而导致控件重新Build,从而会失去浏览历史。...在标签之间切换似乎不起作用,因为我们总是在Scaffold主体内显示红色页面。 多个Navigator 这是因为我们已经定义了一个新的导航器,但这是在所有三个选项卡中共享的。...One more thing 如果我们在Android上运行应用程序,当我们按下后退按钮,我们会发现一个有趣的现象: ?...如果我们再次运行应用程序,我们可以看到按下后退按钮会解除所有推送路线,只有当我们再次按下它我们才会离开应用程序。 ?...使用Offstage小部件可确保我们的所有导航器保留其状态,因为它们保留在控件树。 这可能会带来一些性能损失,因此如果您选择使用它,建议您分析您的应用。 可以在此处找到本文的完整源代码

    4.3K20

    你知道在终端执行 Python 代码的方式吗?

    不感冒于单独的main模块,而是直接将所有相关的代码放入__main__.py,因为感觉这些模块名是多余的。...5、执行一个压缩文件如果你确实有多个文件和/或依赖模块,并且希望将所有代码作为一个单元发布,你可以用一个__main__.py,放置在一个压缩文件,并把压缩文件所在目录放在 sys.path 里,Python...如果你想移动一堆纯 Python 代码,这是一种不错的方法。 不幸的是,仅当压缩文件包含的所有代码都是纯 Python ,才能这样运行压缩文件。...这显然不起作用。...知道至少有一个人与 glibc 团队交谈过,关于支持将内存缓冲区传入压缩文件,以便 Python 可以将扩展模块读入内存,并将其传给压缩文件,但是如果内存为此服务,glibc 团队并不同意。

    2.4K20

    软件测试|Postman做 接口自动化测试

    首先我们来思考一下,如果要达到自动化接口测试效果,在基本的模拟请求上还需要做哪些呢?粗略概括为 3 个问题(欢迎在评论区留言更多补充建议):如何判断接口是否请求成功?如何进行接口批量、定期测试?...Data File : 上传测试数据文件 (下文单独讲)我们已经了解了,如何让多个接口循环运行多次,但是现在有个问题,按目前这个步骤,每次运行时接口的参数都是一样的,那么就算我们运行个100次、1000...还是以我们上文中创建好接口集合为例,如果你有注意我们执行批量测试的结果,就会发现接口的执行顺序其实就是按照这边目录的顺序(从上到下),即: Request1 -> Request2 -> Request3...:postman.setNextRequest() 只在运行集合测试的时候生效,也就是说我们单独运行 (Send) 接口Request1 ,函数是不起作用的。...当我运行集合测试成功从 Request1 -> Request3 后,如果 Request3 后面还有接口,那么后面的接口仍然继续按默认顺序执行,即图中的接口 Request4 仍会被执行。

    60620

    介绍 Postman 接口自动化测试

    首先我们来思考一下,如果要达到自动化接口测试效果,在基本的模拟请求上还需要做哪些呢? 粗略概括为 3 个问题(欢迎在评论区留言更多补充建议): 如何判断接口是否请求成功?...Data File : 上传测试数据文件 (下文单独讲) 我们已经了解了,如何让多个接口循环运行多次,但是现在有个问题,按目前这个步骤,每次运行时接口的参数都是一样的,那么就算我们运行个100次、1000...还是以我们上文中创建好接口集合为例,如果你有注意我们执行批量测试的结果,就会发现接口的执行顺序其实就是按照这边目录的顺序(从上到下),即: Request1 → Request2 → Request3...这里需要注意几点: postman.setNextRequest() 只在运行集合测试的时候生效,也就是说我们单独运行 (Send) 接口Request1 ,函数是不起作用的。...当我运行集合测试成功从 Request1 → Request3 后,如果 Request3 后面还有接口,那么后面的接口仍然继续按默认顺序执行,即图中的接口 Request4 仍会被执行。

    67600

    【Java】一次 OOM 试验造成的电脑雪崩引发的思考

    问题初现----电脑雪崩 在写「垃圾回收-实战篇」,按书中的一个例子做了一次实验,觉得涉及的知识点挺多的,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。...,如果进程启动了多个线程,多线程就会占用多个核,是可能超过 100% 的,但最多不超过 CPU核数 * 100%, 怎么查看逻辑 CPU 的个数 Linux 下可以用 cat /proc/cpuinfo...为啥 Ctrl + C 这种通用的 kill 掉进程的方式不起作用呢,在 Oracle 的论坛(见文末参考链接)找到了 Oracle 工程师的回答 The message "Java HotSpot(...简单地说就是 JVM 的信号处理器确实收到了终端发出的 Ctrl + C 的终止信号,但当它调用 Java 进程想中止发生了 OOM 导致中断失败, 那为啥调用会发生 OOM 呢,猜是因为信号处理器要启动一个线程来做这种终止通知的操作...while(true),所以子线程会一直存在,既然它们一直存在,那对应的 Java 进程就会一直运行着。

    53030

    刨根问底---一次 OOM 试验造成的电脑雪崩引发的思考

    问题初现----电脑雪崩 在写「垃圾回收-实战篇」,按书中的一个例子做了一次实验,觉得涉及的知识点挺多的,所以单独拎出来与大家共享一下,相信大家看完肯定有收获。...,如果进程启动了多个线程,多线程就会占用多个核,是可能超过 100% 的,但最多不超过 CPU核数 * 100%, 怎么查看逻辑 CPU 的个数 Linux 下可以用 cat /proc/cpuinfo...为啥 Ctrl + C 这种通用的 kill 掉进程的方式不起作用呢,在 Oracle 的论坛(见文末参考链接)找到了 Oracle 工程师的回答 The message "Java HotSpot(...简单地说就是 JVM 的信号处理器确实收到了终端发出的 Ctrl + C 的终止信号,但当它调用 Java 进程想中止发生了 OOM 导致中断失败, 那为啥调用会发生 OOM 呢,猜是因为信号处理器要启动一个线程来做这种终止通知的操作...while(true),所以子线程会一直存在,既然它们一直存在,那对应的 Java 进程就会一直运行着。

    51810

    精读文章:高级软件工程师成长秘诀

    对此采用了及时处理的方法。只有当我被某件事情困扰,或者当我发现的抽象和设计决策不起作用时,才寻找新的工具。 例如,最近正在为许多复杂的业务逻辑领域头疼。...但是,它不起作用发现permutations返回了一个元组列表,因此返回的排序函数,并将它改成一个处理元组列表的排序函数。...当我不复制粘贴现有模板的速度就会降下来。但当我有足够空闲时,选择在写代码之前达到层次 1 理解。这通常意味着第一次的时候会很慢,但是随着时间的推移,我会变得更快。...不再理性地思考问题,尽可能写些垃圾来解决问题。添加一个调用,添加一个括号,打印一些随机的东西,只是让事情以某种方式可以运行当我修改某个事情花费的时间超出了预期就会开始进入这种状态。...预期只有其中一个线程会得到这条消息(这是我们实现的队列定义)。而且预期这些线程都不会崩溃。 在这个测试给每个线程设定的join超时时间是 5 秒。这些测试不起作用

    39420

    你不知道的Cypress系列(3) -- 是时候重构自己的思维了!

    例如,见过太多这样的case:”如果点击了某button,如果弹出框没有出现,执行A操作,如果出现,执行B操作“。...下面我们来一个个分析: (一)诡异的赋值 01 — 赋值不起作用 赋值操作是最常见的了,赋值最常用的场景是获取元素的某个属性供以后使用。...上面的代码看起来没有任何毛病,但是运行时,你会发现第一次打印时有值, 但是二次打印name的值是null。...02 — 赋值不起作用的原因 写惯了Python或Java的同学往往会卡在这里觉得莫名其妙。其实也就是同步执行和异步执行的差异了。...这是因为Cypress命令在它们被调用时不会执行任何操作。它们会自我排队(“enqueue themselves”),最后在统一运行

    2.2K20

    SpringBoot的@Conditional使用

    在开发Spring Boot应用程序时,如果满足某些条件,我们有时只想将bean或模块加载到应用程序上下文中。然后在测试期间禁用某些bean,或者在运行时环境对某个属性做出反应。...根据我的经验,最常见的用例是某些bean在测试环境不起作用它们可能需要连接到远程系统或测试期间不可用的应用程序服务器。因此,我们希望模块化我们的测试 以在测试期间排除或替换这些bean。...但是它们并不常见,有些更适合框架开发而不是应用程序开发(Spring Boot大量使用它们)。所以,我们在这里只是简单地看一下它们。...} @ConditionalOnNotWebApplication:仅当我们没有在Web应用程序运行时才加载bean : @Configuration @ConditionalOnNotWebApplication...只有在我们在相应的操作系统上运行应用程序时才应加载这些bean。 让我们实现一个条件,只有当我们在unix机器上运行代码才加载bean。

    2.1K10

    数据驱动框架(Apache POI – Excel)

    关键字驱动测试框架 是数据驱动框架的扩展。它允许在测试脚本外部将一组称为“关键字”的代码存储在单独的代码文件。我们可以在多个测试脚本重复使用这些关键字。...通常,当我们手动测试应用程序时,我们针对多个测试数据运行相同的方案。此外,我们将相同的测试数据保存在某些文件,例如Excel文件,文本文件,CSV文件或任何数据库。...但是在该脚本,从Excel文件读取数据,将数据写入Excel文件,将数据传递给Selenium操作的所有动作都发生在该类的main方法如果我们仅编写一个或两个测试用例,则该格式是可以接受的。...但是当我们必须开发一个具有多个测试方案的自动化框架,它应该适当地组织并且应该具有定义的文件夹层次结构。 数据驱动测试框架的基本经验法则是将测试数据与测试脚本分开。...将值放置在单独的文件的另一个优势是,如果这些值在任何测试中都是通用的,那么如果其中的任何值有任何更改,则只需要在一个位置进行更新即可。

    26810

    JMeter:在AWS中使用Docker进行分布式负载测试

    在之前的文章,【JMeter:使用Docker进行分布式负载测试】已经介绍了如何使用docker创建多个运行jmeter-server的容器来进行分布式负载测试。...如果我们尝试查找这些容器的IP地址,它们的外观可能都相同–所有容器都为[172.17.0.1]。 因此,由于master无法识别网络的slave,因此我们的jmeter测试在此设置中将不起作用。...如果你还记得的话,我们将所有docker-container运行在同一主机上。...当docker-engine在同一主机上为这些容器创建默认网络,同一主机上的容器将能够使用容器的特定IP地址相互通信。 ? 但是在此AWS,设置如下图所示。...现在,可以通过发出以下命令在主容器(master container)运行测试: .

    1.6K10

    测试开发工程师工作技巧

    如果写出所需的函数和类以及它们之间的交互方式,则可以节省大量时间。尽管会消耗一些时间,但这个习惯张让使您成为一个从根本上来说更优秀的测试开发人员。...任务清单 项目实施过程,将较大的任务拆分为较小和更清晰的任务(这是单独的逻辑单元并且可以单独进行测试)是非常有用的的。列出此类可完成的小任务,并在完成任务后对其标注。...始终在本地计算机上测试代码,然后再将其提交给代码仓库。无论更改有多小,在推送代码都应养成检查已修改文件的差异的习惯,这将有助于跟踪代码的更改,并避免不必要的错误。...这是一种怪异的思维方式,但是必须在事情还不完美且不起作用的情况下保持良好状态,这实际上是我们的工作。 编程是一个长期的过程,在过程,将始终面临新的障碍。...工作自动化 除了测试工作以外,测试开发工程师经常会经常执行一些任务。就像运行一组命令或执行某些活动一样,这涉及到多个应用程序/程序/屏幕之间进行切换,这会占用一部分时间。

    56510

    写给前端同学的终端修炼手册

    如果想中断此次的探测行为,我们可以使用ctrl+c来中断它。 另一个有用的命令是 ctrl + d。这将结束当前会话。如果 ctrl + c 因某种原因不起作用,ctrl + d 可能会起作用。...在 IDE 打开项目 当我想开始一个项目首先在终端中导航到项目的根目录。然后运行以下命令: cd path/to/project code . 如前所述,. 指的是当前工作目录。...还有当我们正在运行一个开发服务器。这是一个长时间运行的过程,因此 ctrl + L 快捷键不起作用。此时我们可以使用⌘ + k来执行清屏工作 别名 有时我们会反复输入相同的命令。...open 命令通常用于打开文件,就像双击一个文件在 GUI 打开它一样。 但是当我们尝试打开一个目录,它会选择弹出一个新的 Finder 窗口,显示该目录的内容。...链接命令 每当我们从 Github 克隆一个新项目通常会连续做两件事: npm install,获取第三方依赖 npm run start,启动本地开发服务器 此时,就会有一个问题,当install

    12710

    PageGuard.js 防止网站内容复制和检测开发者工具代码

    防复制就不多说了,整合了一下 JS 和 CSS 防复制的方法,应该还是比较全的 检测开发者工具的话,整合了各种较新的方法,经测试是支持 Chrome (包括单独窗口打开的情况)和 Firefox (...在单独窗口打开,只有打开控制台才能检测到),其他浏览器还没有测试,不过估计 chromium 内核的浏览器也都是支持的 演示地址:https://netrvin.github.io/PageGuard.js...它可以阻止用户: 选择 打印 右键点击 Crtl / Shift / Alt / F12 开放开发者工具(包括在单独的窗口中打开) 如果你不运行Javascript,你可以使用CSS。...CSS): PageGuard.allowCopy(anticopy_id); 检测开发人员工具 支持的: Chrome(最新版本:66) Opera(最新版本:52) Firefox(最新版本:59)(如果它在一个单独的窗口中打开...,它将仅在用户打开控制台起作用) IE 11(未在eralier测试) 边缘(如果它在单独的窗口中打开,则不起作用) 其他(未测试) 它只能同时运行一个。

    4.4K210

    干货 | Machine Can See 2018 图像对抗攻击大赛比赛心得

    正如许多现在流行的完全端到端的计算机视觉应用一样,它们要么为你提供非常好的结果(例如:风格迁移,深度分水岭算法(用于图像分割),图像生成,图像去噪),要么就基本上不起作用。 ?...如果缺少上述 3 个贡献的任意一项,我们都不会胜出。 4. 学生卷积神经网络知识蒸馏 在训练学生模型获得了最高的分数,因为使用了自己的代码而不是基线代码。 关键点和起作用的因素: 1....它们也可以正常工作,但是如果你合适地调整了所有的训练细节,你的训练时间可以缩短 2-3 倍。特别是对于 DenseNet 这样求解梯度过程很深的模型来说,这一点非常重要; 6....使用 L2 损失代替均方误差损失(MSE)也是同样有效的,但是这样做却不够精确。在运行使用均方误差损失训练的测试模型,显示出它与 BB 模型的输出之间的 L2 距离小于使用 L2 损失训练的模型。...这可能是因为均方误差,如果我们使用创造性的方法单独处理每个 batch 的 B*512 的样本(它允许更多的参数调优,并且共享图像之间的信息),而 L2 范数则单独处理每个 2*512 的向量组合。

    66820
    领券