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

JUnit:如何避免测试实用程序类中的“无可运行方法”

赵刚豪
2023-03-14
问题内容

我已经从JUnit3.8切换到JUnit4.4。我使用ant运行测试,所有测试均成功运行,但测试实用程序类失败,并显示“无可运行方法”错误。我使用的模式是在测试文件夹下包括所有名称为
Test
的类。

我知道,运行程序找不到任何带有@Test属性注释的方法。但是它们不包含此类注释,因为这些类不是测试。令人惊讶的是,当在Eclipse中运行这些测试时,它不会抱怨这些类。

在JUnit3.8中,这根本不是问题,因为这些实用程序类没有扩展TestCase,因此运行程序没有尝试执行它们。

我知道我可以在ant脚本的junit目标中排除这些特定的类。但是我不想在添加的每个新实用程序类上更改构建文件。我也可以重命名班级(但给班级起好名字始终是我最薄弱的天赋:-))

有没有解决这个问题的优雅方法?


问题答案:

假设您可以控制用于查找测试类的模式,建议您将其更改为match
*Test而不是*Test*。这样TestHelper就不会匹配,但是FooTest会匹配。



 类似资料:
  • 我有以下场景。 一个类,其中我有一个API,其内容如下: 这里我们有一个MyOtherClass,它包含一个执行某些操作的API decodeAndGetName()。它在另一个包中,我无法修改它的代码。 要求 我需要为上面的编写一个jUnit测试。现在我想以某种方式模拟的对象并模拟的返回值。 我无法做到这一点,因为我们有一个新的MyOtherClass(),一旦流到达这一行,它就会创建一个新实例

  • 问题内容: 我在JUnit中有许多测试用例。它们都需要相同的代码才能在其静态方法中执行。这是代码重复,我正在努力摆脱它。这样做是一种肮脏的方式。JUnit中是否还有其他机制可能会有所帮助? PS。我写了关于这个主题的博客文章:http : //www.yegor256.com/2015/05/25/unit-test- scaffolding.html 问题答案: 规则是构成可重用代码(而不是从其

  • 问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指

  • 是否有一种带注释的方法来引入这种测试分类并分别调用每个类别?例如。注释方法将是第一类,然后虚构的方法将只是用于诊断报告的日志性能指标,而不是执行决定成败的断言。我认为测试类是定位这些基准测试方法的最佳方式,但我不知道如何在Ant中封装它们的调用,以便它们单独运行。例如,是否可以在每个方法前缀“benchmark”,并告诉Ant只运行前缀有该前缀的方法,或者我可以编写自己的注释?

  • 我有一个带有http请求的服务,它返回我的标题的可观察到的内容 servise.ts 在我的组件中,我有一个函数从service get Request设置。看起来是这样的: 问题是,有时我接收到带有空标签的标题,不需要显示它们,所以我需要对其进行过滤,并对此标题发送.delete()请求。我尝试了类似的方法(想法是在之前添加,然后在另一个subscribe内部调用。)差不多吧 但不确定这是不是个