当前位置: 首页 > 知识库问答 >
问题:

双向断言

岳谦
2023-03-14

例如,我正在进行web自动化测试,假设我有两个非常基本的场景:

测试a)步骤1:将记录添加到数据库步骤2:检查网站是否正确显示记录

测试b)步骤1:在网站上编辑记录步骤2:检查记录是否正确保存在数据库中

根据记录,假设它是一个带有“值”的简单文本字段

因此,对于第一种情况,我将使用Assert equal:

private void check1()
{
    Assert.assertEquals(valueFromDB, valueOnWebsite)
    //many more assertions for more values here        
}

但是,对于第二种情况,它将是:

private void check2()
{
    Assert.assertEquals(valueOnWebsite, valueFromDB)
    //many more assertions for more values here        
}

所以基本上它们都做相同的事情,但都是相反的,为了在断言不正确时抛出正确的错误日志,现在如何在单个方法中实现它,这可能适用于两种情况,但如果值不相等,将显示正确的断言日志?

共有1个答案

宗政天逸
2023-03-14

使用接收消息的重载

String message = String.format("valueFromDB value: %s, valueOnWebsite value: %s", valueFromDB, valueOnWebsite);
Assert.assertEquals(message, valueFromDB, valueOnWebsite);

如果要覆盖内置消息,需要自己实现

if (!valueFromDB.equals(valueOnWebsite)) {
  throw new AssertionFailedError(String.format("valueFromDB value: %s, valueOnWebsite value: %s", valueFromDB, valueOnWebsite));
}
 类似资料:
  • 问题内容: 我们的应用程序使用无限滚动来浏览大量异构项目列表。有一些皱纹: 对于我们的用户来说,通常有10,000个项目的列表,并且需要滚动3k +。 这些都是丰富的项目,因此在浏览器性能变得无法接受之前,我们只能在DOM中拥有几百个。 这些物品的高度各不相同。 这些项目可能包含图像,我们允许用户跳转到特定日期。这很棘手,因为用户可以跳到列表中需要在视口上方加载图像的位置,这会在加载时将内容下推。

  • 本文向大家介绍双向链表和双向循环链表?相关面试题,主要包含被问及双向链表和双向循环链表?时的应答技巧和注意事项,需要的朋友参考一下 双向链表: 包含两个指针,一个prev指向前一个节点,一个next指向后一个节点。 双向循环链表: 最后一个节点的 next 指向head,而 head 的prev指向最后一个节点,构成一个环。

  • 问题内容: 我有2个类:User和UserPicture具有1:1的关系。 UserPicture中的“ user”将被加载,而UserPicture中的“ userPicture”则不会加载-我错了吗? 编辑 必须添加,我只是创建一个UserPicture并插入它们(使用现有的userId)-也许我需要在UserPicture中级联“ user”? 问题答案: 您必须映射您的课程。

  • 主要内容:双向链表的创建目前我们所学到的 链表,无论是动态链表还是 静态链表,表中各节点中都只包含一个指针(游标),且都统一指向直接后继节点,通常称这类链表为 单向链表(或 单链表)。 虽然使用单链表能 100% 解决逻辑关系为 "一对一" 数据的存储问题,但在解决某些特殊问题时,单链表并不是效率最优的存储结构。比如说,如果算法中需要大量地找某指定结点的前趋结点,使用单链表无疑是灾难性的,因为单链表更适合 "从前往后"

  • Output after 4 epochs on CPU: ~0.8146. Time per epoch on CPU (Core i7): ~150s. 在 CPU 上经过 4 个轮次后的输出:〜0.8146。 CPU(Core i7)上每个轮次的时间:〜150s。 from __future__ import print_function import numpy as np from k

  • Mpx针对表单组件提供了wx:model双向绑定指令,类似于v-model,该指令是一个语法糖指令,监听了组件抛出的输入事件并对绑定的数据进行更新,默认情况下会监听表单组件的input事件,并将event.detail.value中的数据更新到组件的value属性上。 简单实用示例如下: <view> <input type="text" wx:model="{{message}}"> <