SystemErrRule is used to intercepts the writes to System.err and make assertions about the text written to System.err.
Example
@Rule
public final SystemErrRule systemErrRule = new SystemErrRule().enableLog();
Now, you can write error messages to ‘System.err’ and validate.
@Test
public void writesTextToSystemErr() {
System.err.print("You can't access the resource");
assertEquals("You can't access the resource", systemErrRule.getLog());
}
SystemErrRuleTest.java
package com.sample.app.tests;
import static org.junit.Assert.assertEquals;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.SystemErrRule;
public class SystemErrRuleTest {
@Rule
public final SystemErrRule systemErrRule = new SystemErrRule().enableLog();
@Test
public void writesTextToSystemErr() {
System.err.print("You can't access the resource");
assertEquals("You can't access the resource", systemErrRule.getLog());
}
}
You can download complete working application from this link.
https://github.com/harikrishna553/system-rules
No comments:
Post a Comment