问题标签 [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 投票
2 回答
87 浏览

kotlin - Kotlin - 替换类委托 - 具有相同功能的多个类不同的签名

我正在使用 JunitRules RuleChain 和 Kotlin。我对两者都是新手,并且有两个类做完全相同的事情,唯一的区别是规则链。

第一堂课看起来像这样:

我需要另一个与委托完全相同BaseActivityTestRule但委托不同的类。

例子 :

如何在不复制代码块的情况下完成此操作?

0 投票
0 回答
73 浏览

java - 使用 DevAppServer 处理 jUnit 异常

我在 Java 中使用 jUnit 测试和处理异常时遇到问题。我使用注释@RunWith (DevAppServerTestRunner.class) 和@DevAppServerTest (TestConfig.class) 创建了我的 TestClass,因为我需要测试一个使用我的 appengine-web.xml 文件中配置的一些属性的方法。

问题来了,在声明了一个 jUnit @Rule来定义一个我想测试的异常之后,我运行了测试并得到一个错误说“规则' myexceptionName '必须实现 MethodRule 或 TestRule”。

这很奇怪,因为我声明的异常是ExpectedException类型,这是一个已经实现 TestRule 的 jUnit 类。我怀疑这个问题与我的@RunWith@DevAppServerTest注释有关,因为使用另一个没有它们的类,规则实现工作(我不能使用的解决方案,因为我需要从 appengine-web.xml 读取一些属性)。

有没有人遇到过类似的事情或知道如何处理这个问题?

我在这里编写的示例代码不涉及 appengine 系统属性,但它给出同样的错误:

0 投票
0 回答
125 浏览

spock - 在测试成功和失败时在 Spock 中执行代码

我想执行一个根据通过或失败更改的代码块。基本上希望在我们的测试用例跟踪软件中设置测试结果。我创建了自己的测试规则,如下所示,但无论测试通过还是失败,它总是调用成功。

}

我在测试中设置规则如下

我希望我只是错过了一些愚蠢而简单的东西。

0 投票
2 回答
494 浏览

java - JUnit getMethodName 返回 null

我正在运行一些 Selenium 测试,但无法访问我的测试方法的名称。我想在日志中打印一些东西,比如“开始测试:foobarbaz”

我所有的测试类都继承了一个公共的“AbstractTest”类,其中包含:

但输出是:

为什么 getMethodName() 方法返回 null?

我的 pom.xml 的摘录可能有用...

0 投票
1 回答
169 浏览

java - JUnit 4:如何在规则中获取测试名称?

JUnit 4:如何在 a 中获取测试名称Rule?例如,

0 投票
1 回答
85 浏览

junit - 使用 PowerMockito 的 Junit 规则:ClassNotPreparedException

我正在使用 PowerMockito 测试一些静态类,有时测试会失败,为了克服这个问题,我创建了一个自定义的 JUnit 规则来重新运行失败测试。该规则工作正常,但每当重新执行测试时,它再次失败,但这次是在mockStatic(StaticClass.class)抛出异常的指令处org.powermock.api.mockito.ClassNotPreparedException。为什么 @PrepareForTest 仅在第一次运行时执行,而不是在重新运行测试时执行。

0 投票
1 回答
11524 浏览

java - JUnit 4.13 中已弃用的 ExpectedException.none() 的替代品

我正在尝试使用 @Rule注释ExpectedException

用于初始化 ExceptionedException 变量类型的ExceptionedException.none()方法表示已弃用初始化 ExceptionedException 对象的替代方法。例子: