我正在与:
我有以下代码:
@FailsWith(java.lang.AssertionError.class)
def "findAll() Not Expected"(){
given:
url = PersonaUrlHelper.FINDALL;
when:
resultActions = mockMvc.perform(get(url)).andDo(print())
then:
resultActions.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_XML))
}
我知道Spock提供了through()方法,因此我能够执行以下操作:
then:
def e = thrown(IllegalArgumentException)
e.message == "Some expected error message"
println e.message
遗憾的是,抛出对AssertionError不起作用。
如果我使用throwl(AssertionError)
测试方法不通过,唯一的方法是通过@failswith
,但我无法从AssertionError获得错误消息
then: "Something to show on Spock Reports"
关于问题一:
如果查看failswithextension#visitfeatureannotation
,可以看到只计算@failswith
中的值,reason
根本不涉及。您可以做的是引入自己的注释类型(自定义类型,例如,与@failswith
)相同,并重写AbstractanNotationDrivenExtension#VisitFeatureAnnotation
。您可以访问reason
参数。
关于问题二:
对规范运行期间发生的每个错误调用。可以为同一个方法调用多次,例如,如果一个功能方法的expect-block和cleanup-block都失败了。
没有测试第二题,但可能有用。我也用过类似的东西。
享受,
我想检查在页面之间导航时是否收到错误消息。当错误消息出现时,测试将被终止并进行报告。为此,我使用了以下与站点上的错误消息相关的元素。
我希望更改Serenity报告中的CSS和徽标。另外,我想在Serenity报告中添加一些自定义文本或指向某些测试的链接。就像生成了一个excel报告,我希望在报告的测试步骤中提供它的链接。实现这一目标的最佳方法是什么?
# 5.1 自定义报告是什么? {#51-自定义报告是什么?} 在进行网站分析的时候,通常需要关联多个维度进行分析, 同时根据不同组合维度,选取合适的衡量指标。 例如,衡量 广告流量 达成的事件数 或 不同来源流量的所使用客户端及其地域分布。 在默认报告中,系统提供了单个维度的分析视角。 而自定义报告则可实现关联不同分析维度,衡量站点数据表现。 示例如下: 维度1 维度2 维度3 衡量指标 广告维
问题内容: 我听说捕捞被认为是不好的作法。我当前正在加载一个不能保证在PATH上的.dll,并希望在不存在的情况下切换到用户配置的位置。 有更好的方法吗?还是在这里接受是可以接受的? 问题答案: 除了提供有关如何从技术上解决问题的建议以外,我想花点时间解释一下为什么它首先被认为是“不好的做法”。 让我们从澄清什么是类开始。 在Java中,将引发错误和异常(它们是主要类型)。通过使用关键字可以完成上
我定义了一个自定义错误处理程序,它捕获所有异常并将其保存到日志中。现在,如果我在mysqli查询中出现语法错误,例如打字错误,页面将完全停止加载。没有引发异常,因此不会触发错误处理程序,也不会记录任何内容。 这正常吗?我是否应该检查PHP设置来修复此问题,以便任何mysqli查询错误都会引发异常? (如果查询返回0个结果,我不希望引发异常-仅当它由于键入错误或查询结构中的其他错误而出错时) 查询示
这里,在引擎盖下调用。因此,我需要我的模拟实例返回(指示失败的auth),或者在发生意外情况时抛出。 你知道我该怎么做吗?