当前位置: 首页 > 面试题库 >

JUnit @忽略有用吗?

谢烨烨
2023-03-14
问题内容

在JUnit中,您可以使用@Ignorebefore方法来告诉测试运行器自动跳过那些测试。据我所知,这实际上只是记录/标记不完整的/不再需要的功能测试的一种便捷方法,您需要稍后再返回。

那么,我是否正确地说,在运行时,@Ignore测试,没有注释的方法和注释掉的方法之间没有区别?(假设这些测试都是自包含的。)是否可以通过某种方法在Netbeans的JUnit中获取被忽略的测试用例的列表?如果没有,该@Ignore标签实际上有多少用处,因为通过测试可能会更有用,因此它不会被忽略?


问题答案:

那么我是否正确地说,在运行时@Ignore测试,无注释的方法和注释掉的方法之间没有区别?

@Ignored方法可以通过反射找到。没有注释的方法不能(或者,确切地说,不能 确定 地将其 标识
为被忽略的测试方法),并且注释掉的方法甚至都不会进入字节码。

尽管我认为找到@Ignored方法运行时不会有太多实用价值,但生成统计信息/报告可能会很有用。

@Ignore标签实际上有多少用处

我能想到的一件事是可搜索性。您可以轻松地识别@Ignore代码中的所有注释,而未注释或注释掉的测试并不是那么容易找到。

通过测试可能会更有用,因此它不会被忽略吗?

如果您想要(并且可以)立即修复它,则可以使其失败。在某些情况下,您可能无法做到,但是您仍然希望方法始终存在,以确保不会被遗忘。然后@Ignore才有意义。



 类似资料:
  • 问题内容: 即时通讯只是从C#-> Java移动。我需要使用junit编写一些测试。在我的测试中,我需要比较两个字符串以查看它们是否匹配。因此,我们也有Assert.assertEquals,但这是区分大小写的。如何使它不区分大小写?我需要的是: 返回true。 因此,在C#中,我们曾经有: 我很快就浏览了Junit文档,但似乎找不到任何东西。 问题答案: 我发现Hamcrest提供的断言必须比默

  • 问题内容: 好的,因此注释非常适合标记不应运行测试用例。 但是,有时我想忽略基于运行时信息的测试。例如,如果我有一个并发测试需要在具有一定数量内核的计算机上运行。如果此测试是在单处理器计算机上运行的,那么我认为仅通过测试是不正确的(因为尚未运行),并且通过测试并破坏构建肯定不是正确的选择。 因此,我希望能够在运行时忽略测试,因为这似乎是正确的结果(因为测试框架将允许构建通过,但记录未运行测试)。我

  • 问题内容: 比方说,我有一个名为测试类有几种方法,,,等,每个注释。 现在让我们说我将子类归类为,并且我不会覆盖任何内容。目前是空的。 当我从运行测试,方法,以及因为测试运行不从类和基类的测试方法区分是通过测试运行执行。 如何强制测试运行程序放弃基类的测试? 问题答案: 重组您的测试类。 如果您不想使用基类中的测试,则不要扩展它 如果您需要基类的其他功能,请将该类一分为二-测试和其他功能

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • “添加了更多详细信息” 我想模拟某个空方法,但我不太确定如何。我读过EasyMock,但我不知道当它是一个空方法时该怎么办,这是我的主类; 主类 我想模拟这样我就可以跳过尝试 更新程序类 <代码> 私有void方法 这是我目前为止的测试课, (编辑)谢谢。

  • 问题内容: 我已经使用了tycho-eclipse-plugin-archetype中的原型来创建带有工作集成测试项目的简单Eclipse插件。除了…不是。 当我以“ JUnit插件测试”启动任何测试时,会出现以下异常: (以及其他插件的一些类似消息。) 这很奇怪,因为我的目标平台包含3.4.300,而不是3.4.500,它需要版本[3.3.0,4.0.0)。测试用例的运行配置与此版本一致,并证明