问题标签 [junit-rule]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3098 浏览

java - Does Mule FunctionalTestCase needs org.junit.rules.TestRule class to run

I'm trying to run a simple Functional test in Mule 3.3. Below is my sample code:

But it complains java.lang.NoClassDefFoundError: org/junit/rules/TestRule. I've junit4.8.1.jar in my classpath but that doesn't have TestRule class which guess is junit4.9 onwards.

Does Mule needs this class? I'm not using any of the annotations of TestRule

0 投票
2 回答
243 浏览

java - @Rule 声明导致调试尝试出错

一个 groovy JUnit 测试类只有一个静态声明:

尝试在调试模式下启动测试后,会引发异常:

在代码中的任何行开始之前引发异常。如果我扔掉“@Rule”这个词,测试运行正常(至少从一开始)

进口是:

JUnit 版本 4.8.2

Eclipse 版本:3.6

Java版本:1.6.41

请问我应该去哪里找问题?

0 投票
1 回答
797 浏览

java - Groovy 类中@Rule(JUnit) 声明和赋值的逻辑是什么

尝试在 groovy 文件中创建规则的一些变体,我想到@Rule 不描述声明,而是描述分配。因此,跑步者在加载测试时,会尝试每条规则以正确分配。

但是,后来我遇到了一些自相矛盾的变体:

它的逻辑是什么?

这似乎是 Runner 中的一个错误 - runner 在构建测试之前进行了过多的检查。

0 投票
1 回答
1989 浏览

java - 我可以为套件中的所有测试设置时间限制吗

JUnit 中有没有办法为套件中包含的所有测试定义全局超时/限制。

好吧,让我稍微解释一下。

我想将一个 junit 测试套件引入到将在每个构建上运行的遗留项目的构建系统中。该套件应包含快速运行的单元测试,但该项目在其测试源文件夹中混合了集成和单元测试集。

所以我的目标是为单元测试引入一个中央测试套件,它只包含那些能够在特定时间限制内运行的测试(每个测试单独)。

如果可能,我想通过引入@Rule注释来强制执行该规则。

我确实试过这个:

但这似乎没有奏效。我知道有一个测试比 1 毫秒慢得多,但没有一个测试失败。

0 投票
2 回答
798 浏览

java - 如何使用@标签为 selenium 测试方法设置方法级别超时。通过覆盖框架级超时

我需要覆盖为所有测试脚本设置的现有框架级超时,

所有测试的默认超时设置为 10 分钟(每个测试最多运行 10 分钟,之后测试将超时)。

一些测试将运行超过 10 分钟。在这种情况下,默认超时将终止浏览器并且测试失败。

我将 selenium java 与 junit 一起使用,并使用页面对象模型。

任何人都可以帮助我覆盖现有的超时。

注意:该框架由开发团队开发。

0 投票
1 回答
73 浏览

exception - 异常断言以及其他断言 jUnit

我有一个抛出异常的方法。我有一个这样的测试。

测试断言异常,并且由于抛出异常,测试通过。它不关心最后一行assertTrue(false)

我怎样才能确保我的其他断言也得到满足。

0 投票
1 回答
56 浏览

java - 无法正确使用某些 Junit 类

我想ErrorCollector在 jUnit 中使用类,但无法导入其所需的类。我想导入org.junit.rule.*,但我没有导入选项import sun.org.mozilla.javascript.internal.ast.ErrorCollector。我不明白发生了什么。我没有任何导入 Rule 类的选项,我尝试输入import org.junit.rule但未成功导入。请帮助或解释我是怎么回事?

谢谢。

0 投票
1 回答
928 浏览

junit-rule - 测试失败时未执行 JUnit 规则

以下是我的测试文件:

输出是:

似乎 failed() 没有被执行。我读了很多帖子,但似乎没有什么对我有用。我究竟做错了什么?

0 投票
1 回答
948 浏览

junit - Mule:JUnit 测试用例调用位于 Mule 流程中间的服务

我是 JUnit 测试用例的新手。请在这个问题上帮助我。我有 2 个 mule 流 - 第一个流具有 MQ 作为入站,它具有数据映射器来转换 xml。使用第一个流输入,我正在调用第二个流,我们正在调用现有服务(SOAP/HTTP)调用。请在下面找到我的 JUnit。我能够得到成功的响应。但我的要求 1. 我需要看到来自 Transformer 的转换器响应。(就像我们在流程中通过 logger 组件看到的那样) 2.需要通过 JUnit 覆盖 url (HTTP)(为了测试错误场景)

我认为以下代码段将覆盖 url。但事实并非如此

3. 如何控制流程并查看流程之间的任何响应。

为了测试目的,我已将 VM 替换为入站端点,而不是 WMQ。4.有没有机会像不替换VM一样,可以通过JUnit TestCase直接用WMQ调用。请帮助我。我使用的是 3.4 版本,目前没有使用 maven。请帮我。提前致谢。

0 投票
1 回答
530 浏览

java - 在@Rule 中并行化测试执行

我想重用一些集成测试来进行负载测试。我实现了一个由注释参数化的规则:

在我的规则实现中,注释被评估并设置了一个语句,它有一个评估方法,如下所示:

因此,evaluate调用被包装在 a 中Runnable()并按照注释中的描述进行调度。问题是:在我的规则中,只进行调度,运行者不知道(或关心)所有可运行的可运行程序,这些可运行程序仅在设置整个测试套件所需的时间内运行。所以我试图将调用添加evalute()到测试运行器。第一次尝试是使用JUnitCore.run(...)which 当然以递归结束。

接下来的尝试是收集所有期货并等待它们完成。这在每个测试的基础上都可以正常工作,但我想并行执行整个测试套件。而且,在我的测试报告中,我只看到测试执行了一次。

所以然后我想我使用一个带有上下文的参数化套件(一个从所有测试中收集所有期货的对象)作为参数,但是我没有找到一种方法来将此上下文对象提升到测试中,每个测试都必须有它的自己的参数。

我现在要求一种方法将多个执行从我的规则添加到正在执行它的测试运行器。