哪里是org.junit.contrib.java.lang.system.标准输出流日志?

af7jpaap  于 2022-12-25  发布在  Java
关注(0)|答案(6)|浏览(143)

这个类在哪里?我的项目使用的是JUnit 4.12,没有找到StandardOutputStreamLog。这个类是在这个版本中被删除的吗?还是来自其他库?这两个库之间有什么关系?

l7wslrjt

l7wslrjt1#

SystemOutRule取代了@Rahul Tripathi建议的StandardOutputStreamLog
只是添加了几个指针,以便立即开始。
Maven依赖项:

<dependency>
    <groupId>com.github.stefanbirkner</groupId>
    <artifactId>system-rules</artifactId>
    <version>1.18.0</version>
    <scope>test</scope>
</dependency>

将jar添加到buildpath以获得下面的导入。

import org.junit.contrib.java.lang.system.SystemOutRule;

public void MyTest {
    @Rule
    public final SystemOutRule systemOutRule = new SystemOutRule().enableLog();

    @Test
    public void writesTextToSystemOut() {
        System.out.print("hello world");
        assertEquals("hello world", systemOutRule.getLog());
    }
}

Reference: http://stefanbirkner.github.io/system-rules/

jum4pzuy

jum4pzuy2#

此类已弃用,应使用SystemOutRule
检查source
标准输出流日志()

已弃用。

请使用新的SystemOutRule().enableLog()。
创建一个规则,在写入仍写入标准输出流时记录写入。

brccelvz

brccelvz3#

StandardOutputStreamLog()并没有被弃用。它是一个JUnit 4.x包中没有的类。我在谷歌上搜索了这个类和maven一词,如下所示:org.junit.contrib.java.lang.system.StandardOutputStreamLog()+ maven,我发现它不是在junitMaven存储库中定义的,而是在com.github.stefanbirkner中定义的。

<dependency>
    <groupId>com.github.stefanbirkner</groupId>
    <artifactId>system-rules</artifactId>
    <version>1.16.0</version>
</dependency>

您应该能够解决该问题。

1aaf6o9v

1aaf6o9v4#

如果您使用gradle,则可以在 * build. gradle * 文件中添加以下依赖关系规则。

dependencies {
testCompile "com.github.stefanbirkner:system-rules:${systemRulesVersion}"}

您应该能够解决该问题。

w7t8yxp5

w7t8yxp55#

我还必须导入stefanbirkner:system-rules库,然后执行JUnit测试并遇到错误:

java: package org.junit.contrib.java.lang.system does not exist

我在IntelliJ中使用Maven,因此我采取的步骤是:
1.从文件菜单中选择项目结构x1c 0d1x
1.在“项目结构”屏幕中,选择库并在左窗格中添加加号,以从Maven

添加新库
1.搜索stefanbirkner:系统规则和ok

1.选择要导入库的模块并确认,然后在项目结构屏幕

上应用并确认
1.在import语句上右键单击以显示上下文选项x1c4d 1x
1.将库添加到类路径

1.在pom.xml中添加依赖项

<dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>1.19.0</version>
</dependency>
yfwxisqw

yfwxisqw6#

我也遇到过这个问题,事实是JUnit 4.12库没有org.junit.contrib.java.lang.system包。你需要的库是system-rules。为了解决这个问题,你可以在谷歌上搜索“system-rules Junit”,然后找到下载库的链接。例如现在可以在这个link中下载
我希望这会对某人有所帮助。

相关问题