问题标签 [system-rules]

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 回答
1490 浏览

java - ExpectedSystemExit 导致错误

我正在使用库系统规则来测试调用 System.exit() 的方法:

不幸的是,这段代码导致了错误......

我正在使用 JUnit 4.7 和系统规则 1.2.0。

0 投票
1 回答
454 浏览

junit - 系统规则未找到 emptyStandardInputStream(); 方法

std 编码示例显示了 emptyStandardInputStream() 方法。但是编译器无法解决它。

  1. 规则 - 是的,明白了。
  2. TextFromStandardInputStream - 是的,明白了。
  3. emptyStandardInputStream() - 不,不编译。

有任何想法吗?谢谢-西蒙

0 投票
2 回答
284 浏览

java - 是什么导致 JUnit 和系统规则在此学生的提交中失败?

在过去的一个月里,我一直在使用自动评分器,我的一个理解材料的学生似乎由于返回“null”而不断地让我的 JUnit 测试用例失败。由于是Java I课程,所以System.out.println()暂时还在用。因此,我使用系统规则来解析它们的输出。

学生提交:

我的一个测试用例:

最后,我的 TestRunner:

在 TestRunnerif (msg.contains("timed out"))中会出错,因为 msg 是null.

如果我运行学生的代码或测试其他人的工作,测试运行得非常好。如果这是我的问题,我想修复它。谢谢!

0 投票
2 回答
747 浏览

java - 系统规则返回不同的行分隔符

我有一个弹簧测试类,Spring in Action 4th它可以测试将某些内容打印到标准输出的简单类。它用System-Rules并入junit的库。

当我运行它抛出的测试时ComparisionException- 唯一的区别是行分隔符。最终我设法通过从System.properties.

是否可以以某种方式配置系统规则以使其自动运行?我正在使用 Windows 7 专业版。

测试

测试班

0 投票
1 回答
424 浏览

java - 使用系统规则拦截 System.exit() 在 Swing 窗口中失败

我的任务是为在各种情况下 System.exit(1) 所需的实用程序应用程序设置一些 JUnit 测试,而系统规则非常适合测试它。该应用程序还可以在 GUI 模式下运行,它会弹出一个小的 JFrame。当它在应用了 ExpectedSystemExit 规则的 JUnit 测试的上下文中运行时,随着 JFrame 的构建,某些东西会偷偷地退出 jvm。关闭 ExpectedSystemExit 规则,测试正常运行,弹出 JFrame 就好了,只是我无法再测试 jvm exit()s。

一个猜测是,SecurityManager 系统规则 1.9.0 实施不允许某些权限。我仍在收集更多调试信息。在那之前,这个问题是否有已知的解决方案?

0 投票
2 回答
2967 浏览

java - 相同的内容,但 JUnit 测试失败(IntelliJ)

我有一个比较两个字符串的 JUnit 测试:

org.junit.ComparisonFailure在第二次测试中遇到了异常。但是,IntelliJ 显示的内容是相同的。我错过了什么?

编辑:在预期字符串的末尾添加回 \n 。

在此处输入图像描述

0 投票
1 回答
993 浏览

java - Junit 和 jenkins org.junit.contrib.java.lang.system.internal.CheckExitCalled:试图以状态 0 退出

我尝试并行运行junit测试。但是,虽然我的测试必须完成,但他们没有。我的詹金斯正在运行,似乎不会结束。

在我的课堂上,我有:

0 投票
1 回答
1203 浏览

java - 使用 Junit 模拟用户对 Scanner 对象的输入

我对 JUnit 和单元测试非常陌生,并且对模拟用户对 Scanner 对象的输入有疑问。我有以下要测试的代码。非常基本。

运行代码

这是我的测试用例

所以在我的测试用例中,我试图将输入模拟为 1,以便我可以收到预期的输出。但是由于某种原因,无论输出是什么,我的代码都会通过。我不确定我做错了什么。如果输出不是预期的,测试应该失败。有人可以发现问题吗?同样,我只是想掌握 JUnit 和单元测试。我主要习惯于在 Python 中进行测试。感谢各位进阶。

0 投票
1 回答
3777 浏览

java - 找不到 org.junit.contrib 包

我使用 maven 构建我的项目并使用 JUnit 进行测试。
当我尝试使用 进行测试时SystemOutRule,我找不到这个类,也找不到org.junit.contrib包。

ps 我的 JUnit 是最新版本,4.12。

我的 Maven pom.xml

我的测试课

在 CDPlayerTest.class 中,我尝试使用 SystemOutRule,但我的 IDE(IntelliJ IDEA)提醒我这个类不存在,我在“Maven Artifact Search”中找不到它。

我的项目结构

0 投票
1 回答
2874 浏览

java - 使用 JUnit 临时文件夹并在系统退出时检查文件是否存在

我有一个这样的单元测试,使用

org.junit.contrib.java.lang.system.ExpectedSystemExit

org.junit.rules.TemporaryFolder

问题在于,临时文件夹在系统退出后立即开始拆除,而不是在checkAssertion()调用 my 之后。

有没有办法可以防止我的临时文件夹被拆除,直到 checkAssertion 结束?

编辑:我认为答案是 - 进行重构并将它们分成两个测试 - 一个测试系统退出,另一个测试文件创建。