Best junit code snippet using org.junit.rules.ExpectedException.none
org.junit.rules.ExpectedException
The ExpectedException is a rule which helps scripts to verify that the script throws the specific exception or not
Here are code snippets that can help you understand more how developers are using
Source:ExpectedExceptionCheckerTest.java
...35 "import org.junit.Rule;",36 "import org.hamcrest.CoreMatchers;",37 "import org.junit.rules.ExpectedException;",38 "class ExceptionTest {",39 " @Rule ExpectedException thrown = ExpectedException.none();",40 " @Test",41 " public void test() throws Exception {",42 " if (true) {",43 " Path p = Paths.get(\"NOSUCH\");",44 " thrown.expect(IOException.class);",45 " thrown.expect(CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",46 " thrown.expectCause(",47 " CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",48 " thrown.expectMessage(\"error\");",49 " thrown.expectMessage(CoreMatchers.containsString(\"error\"));",50 " Files.readAllBytes(p);",51 " assertThat(Files.exists(p)).isFalse();",52 " }",53 " }",54 "}")55 .addOutputLines(56 "out/ExceptionTest.java",57 "import static com.google.common.truth.Truth.assertThat;",58 "import static org.hamcrest.MatcherAssert.assertThat;",59 "import static org.junit.Assert.assertThrows;",60 "",61 "import java.io.IOException;",62 "import java.nio.file.*;",63 "import org.hamcrest.CoreMatchers;",64 "import org.junit.Rule;",65 "import org.junit.Test;",66 "import org.junit.rules.ExpectedException;",67 "class ExceptionTest {",68 " @Rule ExpectedException thrown = ExpectedException.none();",69 " @Test",70 " public void test() throws Exception {",71 " if (true) {",72 " Path p = Paths.get(\"NOSUCH\");",73 " IOException thrown =",74 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",75 " assertThat(thrown,",76 " CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",77 " assertThat(thrown.getCause(),",78 " CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",79 " assertThat(thrown).hasMessageThat().contains(\"error\");",80 " assertThat(thrown.getMessage(), CoreMatchers.containsString(\"error\"));",81 " assertThat(Files.exists(p)).isFalse();",82 " }",83 " }",84 "}")85 .doTest();86 }87 @Test88 public void noExceptionType() {89 testHelper90 .addInputLines(91 "in/ExceptionTest.java",92 "import static com.google.common.truth.Truth.assertThat;",93 "import java.io.IOException;",94 "import java.nio.file.*;",95 "import org.hamcrest.CoreMatchers;",96 "import org.junit.Rule;",97 "import org.junit.Test;",98 "import org.junit.rules.ExpectedException;",99 "class ExceptionTest {",100 " @Rule ExpectedException thrown = ExpectedException.none();",101 " @Test",102 " public void test() throws Exception {",103 " Path p = Paths.get(\"NOSUCH\");",104 " thrown.expect(CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",105 " Files.readAllBytes(p);",106 " Files.readAllBytes(p);",107 " }",108 "}")109 .addOutputLines(110 "out/ExceptionTest.java",111 "import static com.google.common.truth.Truth.assertThat;",112 "import static org.hamcrest.MatcherAssert.assertThat;",113 "import static org.junit.Assert.assertThrows;",114 "",115 "import java.io.IOException;",116 "import java.nio.file.*;",117 "import org.hamcrest.CoreMatchers;",118 "import org.junit.Rule;",119 "import org.junit.Test;",120 "import org.junit.rules.ExpectedException;",121 "class ExceptionTest {",122 " @Rule ExpectedException thrown = ExpectedException.none();",123 " @Test",124 " public void test() throws Exception {",125 " Path p = Paths.get(\"NOSUCH\");",126 " Throwable thrown = assertThrows(Throwable.class, () -> {",127 " Files.readAllBytes(p);",128 " Files.readAllBytes(p);",129 " });",130 " assertThat(thrown, CoreMatchers.is(CoreMatchers.instanceOf(IOException.class)));",131 " }",132 "}")133 .doTest();134 }135 @Test136 public void noExpectations() {137 testHelper138 .addInputLines(139 "in/ExceptionTest.java",140 "import static com.google.common.truth.Truth.assertThat;",141 "import java.io.IOException;",142 "import java.nio.file.*;",143 "import org.hamcrest.CoreMatchers;",144 "import org.junit.Rule;",145 "import org.junit.Test;",146 "import org.junit.rules.ExpectedException;",147 "class ExceptionTest {",148 " @Rule ExpectedException thrown = ExpectedException.none();",149 " @Test",150 " public void test() throws Exception {",151 " Path p = Paths.get(\"NOSUCH\");",152 " thrown.expect(IOException.class);",153 " Files.readAllBytes(p);",154 " assertThat(Files.exists(p)).isFalse();",155 " }",156 "}")157 .addOutputLines(158 "out/ExceptionTest.java",159 "import static com.google.common.truth.Truth.assertThat;",160 "import static org.junit.Assert.assertThrows;",161 "import java.io.IOException;",162 "import java.nio.file.*;",163 "import org.hamcrest.CoreMatchers;",164 "import org.junit.Rule;",165 "import org.junit.Test;",166 "import org.junit.rules.ExpectedException;",167 "class ExceptionTest {",168 " @Rule ExpectedException thrown = ExpectedException.none();",169 " @Test",170 " public void test() throws Exception {",171 " Path p = Paths.get(\"NOSUCH\");",172 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",173 " assertThat(Files.exists(p)).isFalse();",174 " }",175 "}")176 .doTest();177 }178 @Test179 public void nonExpressionStatement() {180 testHelper181 .addInputLines(182 "in/ExceptionTest.java",183 "import static com.google.common.truth.Truth.assertThat;",184 "import java.io.IOException;",185 "import java.nio.file.*;",186 "import org.junit.Rule;",187 "import org.junit.Test;",188 "import org.junit.rules.ExpectedException;",189 "class ExceptionTest {",190 " @Rule ExpectedException thrown = ExpectedException.none();",191 " @Test",192 " public void test() throws Exception {",193 " Path p = Paths.get(\"NOSUCH\");",194 " thrown.expect(IOException.class);",195 " Files.readAllBytes(p);",196 " if (true) Files.readAllBytes(p);",197 " }",198 "}")199 .addOutputLines(200 "out/ExceptionTest.java",201 "import static com.google.common.truth.Truth.assertThat;",202 "import static org.junit.Assert.assertThrows;",203 "",204 "import java.io.IOException;",205 "import java.nio.file.*;",206 "import org.junit.Rule;",207 "import org.junit.Test;",208 "import org.junit.rules.ExpectedException;",209 "class ExceptionTest {",210 " @Rule ExpectedException thrown = ExpectedException.none();",211 " @Test",212 " public void test() throws Exception {",213 " Path p = Paths.get(\"NOSUCH\");",214 " assertThrows(IOException.class, () -> {",215 " Files.readAllBytes(p);",216 " if (true) Files.readAllBytes(p);",217 " });",218 " }",219 "}")220 .doTest();221 }222 // https://github.com/hamcrest/JavaHamcrest/issues/27223 @Test224 public void isA_hasCauseThat() {225 testHelper226 .addInputLines(227 "in/ExceptionTest.java",228 "import static com.google.common.truth.Truth.assertThat;",229 "import java.io.IOException;",230 "import java.nio.file.*;",231 "import org.junit.Test;",232 "import org.junit.Rule;",233 "import org.hamcrest.CoreMatchers;",234 "import org.junit.rules.ExpectedException;",235 "class ExceptionTest {",236 " @Rule ExpectedException thrown = ExpectedException.none();",237 " @Test",238 " public void test() throws Exception {",239 " Path p = Paths.get(\"NOSUCH\");",240 " thrown.expect(IOException.class);",241 " thrown.expectCause(CoreMatchers.isA(IOException.class));",242 " thrown.expectCause(org.hamcrest.core.Is.isA(IOException.class));",243 " Files.readAllBytes(p);",244 " assertThat(Files.exists(p)).isFalse();",245 " }",246 "}")247 .addOutputLines(248 "out/ExceptionTest.java",249 "import static com.google.common.truth.Truth.assertThat;",250 "import static org.junit.Assert.assertThrows;",251 "",252 "import java.io.IOException;",253 "import java.nio.file.*;",254 "import org.hamcrest.CoreMatchers;",255 "import org.junit.Rule;",256 "import org.junit.Test;",257 "import org.junit.rules.ExpectedException;",258 "class ExceptionTest {",259 " @Rule ExpectedException thrown = ExpectedException.none();",260 " @Test",261 " public void test() throws Exception {",262 " Path p = Paths.get(\"NOSUCH\");",263 " IOException thrown =",264 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",265 " assertThat(thrown).hasCauseThat().isInstanceOf(IOException.class);",266 " assertThat(thrown).hasCauseThat().isInstanceOf(IOException.class);",267 " assertThat(Files.exists(p)).isFalse();",268 " }",269 "}")270 .doTest();271 }272 @Test273 public void typedMatcher() {274 testHelper275 .addInputLines(276 "in/ExceptionTest.java",277 "import static com.google.common.truth.Truth.assertThat;",278 "import java.io.IOException;",279 "import java.nio.file.*;",280 "import org.junit.Test;",281 "import org.junit.Rule;",282 "import org.hamcrest.Matcher;",283 "import org.junit.rules.ExpectedException;",284 "class ExceptionTest {",285 " @Rule ExpectedException thrown = ExpectedException.none();",286 " Matcher<IOException> matcher;",287 " @Test",288 " public void test() throws Exception {",289 " Path p = Paths.get(\"NOSUCH\");",290 " thrown.expect(matcher);",291 " Files.readAllBytes(p);",292 " assertThat(Files.exists(p)).isFalse();",293 " }",294 "}")295 .addOutputLines(296 "out/ExceptionTest.java",297 "import static com.google.common.truth.Truth.assertThat;",298 "import static org.hamcrest.MatcherAssert.assertThat;",299 "import static org.junit.Assert.assertThrows;",300 "",301 "import java.io.IOException;",302 "import java.nio.file.*;",303 "import org.hamcrest.Matcher;",304 "import org.junit.Rule;",305 "import org.junit.Test;",306 "import org.junit.rules.ExpectedException;",307 "class ExceptionTest {",308 " @Rule ExpectedException thrown = ExpectedException.none();",309 " Matcher<IOException> matcher;",310 " @Test",311 " public void test() throws Exception {",312 " Path p = Paths.get(\"NOSUCH\");",313 " IOException thrown =",314 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",315 " assertThat(thrown, matcher);",316 " assertThat(Files.exists(p)).isFalse();",317 " }",318 "}")319 .doTest();320 }321 @Test322 public void nothingButAsserts() {323 testHelper324 .addInputLines(325 "in/ExceptionTest.java",326 "import static com.google.common.truth.Truth.assertThat;",327 "import org.junit.Rule;",328 "import org.junit.Test;",329 "import org.junit.rules.ExpectedException;",330 "class ExceptionTest {",331 " @Rule ExpectedException thrown = ExpectedException.none();",332 " @Test",333 " public void test() throws Exception {",334 " thrown.expect(RuntimeException.class);",335 " assertThat(false).isFalse();",336 " assertThat(true).isTrue();",337 " }",338 "}")339 .addOutputLines(340 "out/ExceptionTest.java",341 "import static com.google.common.truth.Truth.assertThat;",342 "import org.junit.Rule;",343 "import org.junit.Test;",344 "import org.junit.rules.ExpectedException;",345 "class ExceptionTest {",346 " @Rule ExpectedException thrown = ExpectedException.none();",347 " @Test",348 " public void test() throws Exception {",349 " assertThat(false).isFalse();",350 " assertThat(true).isTrue();",351 " }",352 "}")353 .doTest();354 }355 @Test356 public void removeExplicitFail() {357 testHelper358 .addInputLines(359 "in/ExceptionTest.java",360 "import static com.google.common.truth.Truth.assertThat;",361 "import static org.junit.Assert.fail;",362 "import java.io.IOException;",363 "import java.nio.file.*;",364 "import org.junit.Test;",365 "import org.junit.Rule;",366 "import org.junit.rules.ExpectedException;",367 "class ExceptionTest {",368 " @Rule ExpectedException thrown = ExpectedException.none();",369 " @Test",370 " public void testThrow() throws Exception {",371 " thrown.expect(IOException.class);",372 " throw new IOException();",373 " }",374 " @Test",375 " public void one() throws Exception {",376 " Path p = Paths.get(\"NOSUCH\");",377 " thrown.expect(IOException.class);",378 " Files.readAllBytes(p);",379 " assertThat(Files.exists(p)).isFalse();",380 " fail();",381 " }",382 " @Test",383 " public void two() throws Exception {",384 " Path p = Paths.get(\"NOSUCH\");",385 " thrown.expect(IOException.class);",386 " Files.readAllBytes(p);",387 " assertThat(Files.exists(p)).isFalse();",388 " throw new AssertionError();",389 " }",390 "}")391 .addOutputLines(392 "out/ExceptionTest.java",393 "import static com.google.common.truth.Truth.assertThat;",394 "import static org.junit.Assert.assertThrows;",395 "import static org.junit.Assert.fail;",396 "",397 "import java.io.IOException;",398 "import java.nio.file.*;",399 "import org.junit.Rule;",400 "import org.junit.Test;",401 "import org.junit.rules.ExpectedException;",402 "class ExceptionTest {",403 " @Rule ExpectedException thrown = ExpectedException.none();",404 " @Test",405 " public void testThrow() throws Exception {",406 " }",407 " @Test",408 " public void one() throws Exception {",409 " Path p = Paths.get(\"NOSUCH\");",410 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",411 " assertThat(Files.exists(p)).isFalse();",412 " }",413 " @Test",414 " public void two() throws Exception {",415 " Path p = Paths.get(\"NOSUCH\");",416 " assertThrows(IOException.class, () -> Files.readAllBytes(p));",417 " assertThat(Files.exists(p)).isFalse();",418 " }",419 "}")420 .doTest();421 }422 // https://github.com/google/error-prone/issues/1072423 @Test424 public void i1072() {425 testHelper426 .addInputLines(427 "in/ExceptionTest.java",428 "import org.junit.Rule;",429 "import org.junit.Test;",430 "import org.junit.rules.ExpectedException;",431 "class ExceptionTest {",432 " @Rule ExpectedException thrown = ExpectedException.none();",433 " @Test",434 " public void testThrow(Class<? extends Throwable> clazz) throws Exception {",435 " thrown.expect(clazz);",436 " clazz.toString();",437 " }",438 "}")439 .addOutputLines(440 "in/ExceptionTest.java",441 "import static org.junit.Assert.assertThrows;",442 "import org.junit.Rule;",443 "import org.junit.Test;",444 "import org.junit.rules.ExpectedException;",445 "class ExceptionTest {",446 " @Rule ExpectedException thrown = ExpectedException.none();",447 " @Test",448 " public void testThrow(Class<? extends Throwable> clazz) throws Exception {",449 " assertThrows(Throwable.class, () -> clazz.toString());",450 " }",451 "}")452 .doTest();453 }454}...
Source:ExpectedExceptionTest.java
...8import static org.hamcrest.core.IsEqual.equalTo;9import static org.junit.Assert.assertThat;10import static org.junit.Assert.fail;11import static org.junit.Assume.assumeTrue;12import static org.junit.rules.ExpectedException.none;13import static org.junit.rules.EventCollector.everyTestRunSuccessful;14import static org.junit.rules.EventCollector.hasSingleAssumptionFailure;15import static org.junit.rules.EventCollector.hasSingleFailure;16import static org.junit.rules.EventCollector.hasSingleFailureWithMessage;17import java.util.Collection;18import org.hamcrest.CoreMatchers;19import org.hamcrest.Matcher;20import org.junit.Rule;21import org.junit.Test;22import org.junit.runner.JUnitCore;23import org.junit.runner.RunWith;24import org.junit.runners.Parameterized;25import org.junit.runners.Parameterized.Parameters;26@RunWith(Parameterized.class)27public class ExpectedExceptionTest {28 private static final String ARBITRARY_MESSAGE = "arbitrary message";29 @Parameters(name= "{0}")30 public static Collection<Object[]> testsWithEventMatcher() {31 return asList(new Object[][]{32 {EmptyTestExpectingNoException.class, everyTestRunSuccessful()},33 {ThrowExceptionWithExpectedType.class,34 everyTestRunSuccessful()},35 {ThrowExceptionWithExpectedPartOfMessage.class,36 everyTestRunSuccessful()},37 {38 ThrowExceptionWithWrongType.class,39 hasSingleFailureWithMessage(startsWith("\nExpected: an instance of java.lang.NullPointerException"))},40 {41 HasWrongMessage.class,42 hasSingleFailureWithMessage(startsWith("\nExpected: exception with message a string containing \"expectedMessage\"\n"43 + " but: message was \"actualMessage\""))},44 {45 ThrowNoExceptionButExpectExceptionWithType.class,46 hasSingleFailureWithMessage("Expected test to throw an instance of java.lang.NullPointerException")},47 {WronglyExpectsExceptionMessage.class, hasSingleFailure()},48 {ExpectsSubstring.class, everyTestRunSuccessful()},49 {50 ExpectsSubstringNullMessage.class,51 hasSingleFailureWithMessage(startsWith("\nExpected: exception with message a string containing \"anything!\""))},52 {ExpectsMessageMatcher.class, everyTestRunSuccessful()},53 {54 ExpectedMessageMatcherFails.class,55 hasSingleFailureWithMessage(startsWith("\nExpected: exception with message \"Wrong start\""))},56 {ExpectsMatcher.class, everyTestRunSuccessful()},57 {ExpectAssertionErrorWhichIsNotThrown.class, hasSingleFailure()},58 {FailedAssumptionAndExpectException.class,59 hasSingleAssumptionFailure()},60 {FailBeforeExpectingException.class,61 hasSingleFailureWithMessage(ARBITRARY_MESSAGE)},62 {63 ExpectsMultipleMatchers.class,64 hasSingleFailureWithMessage(startsWith("\nExpected: (an instance of java.lang.IllegalArgumentException and exception with message a string containing \"Ack!\")"))},65 {ThrowExceptionWithMatchingCause.class, everyTestRunSuccessful()},66 {ThrowExpectedNullCause.class, everyTestRunSuccessful()},67 {68 ThrowUnexpectedCause.class,69 hasSingleFailureWithMessage(CoreMatchers.<String>allOf(70 startsWith("\nExpected: ("),71 containsString("exception with cause is <java.lang.NullPointerException: expected cause>"),72 containsString("cause was <java.lang.NullPointerException: an unexpected cause>"),73 containsString("Stacktrace was: java.lang.IllegalArgumentException: Ack!"),74 containsString("Caused by: java.lang.NullPointerException: an unexpected cause")))},75 {76 UseNoCustomMessage.class,77 hasSingleFailureWithMessage("Expected test to throw an instance of java.lang.IllegalArgumentException") },78 {79 UseCustomMessageWithoutPlaceHolder.class,80 hasSingleFailureWithMessage(ARBITRARY_MESSAGE) },81 {82 UseCustomMessageWithPlaceHolder.class,83 hasSingleFailureWithMessage(ARBITRARY_MESSAGE84 + " - an instance of java.lang.IllegalArgumentException") }85 });86 }87 private final Class<?> classUnderTest;88 private final Matcher<EventCollector> matcher;89 public ExpectedExceptionTest(Class<?> classUnderTest,90 Matcher<EventCollector> matcher) {91 this.classUnderTest = classUnderTest;92 this.matcher = matcher;93 }94 @Test95 public void runTestAndVerifyResult() {96 EventCollector collector = new EventCollector();97 JUnitCore core = new JUnitCore();98 core.addListener(collector);99 core.run(classUnderTest);100 assertThat(collector, matcher);101 }102 public static class EmptyTestExpectingNoException {103 @Rule104 public ExpectedException thrown = none();105 @Test106 public void throwsNothing() {107 }108 }109 public static class ThrowExceptionWithExpectedType {110 @Rule111 public ExpectedException thrown = none();112 @Test113 public void throwsNullPointerException() {114 thrown.expect(NullPointerException.class);115 throw new NullPointerException();116 }117 }118 public static class ThrowExceptionWithExpectedPartOfMessage {119 @Rule120 public ExpectedException thrown = none();121 @Test122 public void throwsNullPointerExceptionWithMessage() {123 thrown.expect(NullPointerException.class);124 thrown.expectMessage(ARBITRARY_MESSAGE);125 throw new NullPointerException(ARBITRARY_MESSAGE + "something else");126 }127 }128 public static class ThrowExceptionWithWrongType {129 @Rule130 public ExpectedException thrown = none();131 @Test132 public void throwsNullPointerException() {133 thrown.expect(NullPointerException.class);134 throw new IllegalArgumentException();135 }136 }137 public static class HasWrongMessage {138 @Rule139 public ExpectedException thrown = none();140 @Test141 public void throwsNullPointerException() {142 thrown.expectMessage("expectedMessage");143 throw new IllegalArgumentException("actualMessage");144 }145 }146 public static class ThrowNoExceptionButExpectExceptionWithType {147 @Rule148 public ExpectedException thrown = none();149 @Test150 public void doesntThrowNullPointerException() {151 thrown.expect(NullPointerException.class);152 }153 }154 public static class WronglyExpectsExceptionMessage {155 @Rule156 public ExpectedException thrown = none();157 @Test158 public void doesntThrowAnything() {159 thrown.expectMessage("anything!");160 }161 }162 public static class ExpectsSubstring {163 @Rule164 public ExpectedException thrown = none();165 @Test166 public void throwsMore() {167 thrown.expectMessage("anything!");168 throw new NullPointerException(169 "This could throw anything! (as long as it has the right substring)");170 }171 }172 public static class ExpectsSubstringNullMessage {173 @Rule174 public ExpectedException thrown = none();175 @Test176 public void throwsMore() {177 thrown.expectMessage("anything!");178 throw new NullPointerException();179 }180 }181 public static class ExpectsMessageMatcher {182 @Rule183 public ExpectedException thrown = none();184 @Test185 public void throwsMore() {186 thrown.expectMessage(startsWith(ARBITRARY_MESSAGE));187 throw new NullPointerException(ARBITRARY_MESSAGE + "!");188 }189 }190 public static class ExpectedMessageMatcherFails {191 @Rule192 public ExpectedException thrown = none();193 @Test194 public void throwsMore() {195 thrown.expectMessage(equalTo("Wrong start"));196 throw new NullPointerException("Back!");197 }198 }199 public static class ExpectsMatcher {200 @Rule201 public ExpectedException thrown = none();202 @Test203 public void throwsMore() {204 thrown.expect(any(Exception.class));205 throw new NullPointerException("Ack!");206 }207 }208 public static class ExpectsMultipleMatchers {209 @Rule210 public ExpectedException thrown = none();211 @Test212 public void throwsMore() {213 thrown.expect(IllegalArgumentException.class);214 thrown.expectMessage("Ack!");215 throw new NullPointerException("Ack!");216 }217 }218 //https://github.com/junit-team/junit4/pull/583219 public static class ExpectAssertionErrorWhichIsNotThrown {220 @Rule221 public ExpectedException thrown = none();222 @Test223 public void fails() {224 thrown.expect(AssertionError.class);225 }226 }227 public static class FailBeforeExpectingException {228 @Rule229 public ExpectedException thrown = none();230 @Test231 public void fails() {232 fail(ARBITRARY_MESSAGE);233 thrown.expect(IllegalArgumentException.class);234 }235 }236 public static class FailedAssumptionAndExpectException {237 @Rule238 public ExpectedException thrown = none();239 @Test240 public void failedAssumption() {241 assumeTrue(false);242 thrown.expect(NullPointerException.class);243 }244 }245 public static class ThrowExceptionWithMatchingCause {246 @Rule247 public ExpectedException thrown = none();248 @Test249 public void throwExceptionWithMatchingCause() {250 NullPointerException expectedCause = new NullPointerException("expected cause");251 thrown.expect(IllegalArgumentException.class);252 thrown.expectMessage("Ack!");253 thrown.expectCause(is(expectedCause));254 throw new IllegalArgumentException("Ack!", expectedCause);255 }256 }257 public static class ThrowExpectedNullCause {258 @Rule259 public ExpectedException thrown = none();260 @Test261 public void throwExpectedNullCause() {262 thrown.expect(IllegalArgumentException.class);263 thrown.expectMessage("Ack!");264 thrown.expectCause(nullValue(Throwable.class));265 throw new IllegalArgumentException("Ack!");266 }267 }268 public static class ThrowUnexpectedCause {269 @Rule270 public ExpectedException thrown = ExpectedException.none();271 @Test272 public void throwWithCause() {273 thrown.expect(IllegalArgumentException.class);274 thrown.expectMessage("Ack!");275 thrown.expectCause(is(new NullPointerException("expected cause")));276 throw new IllegalArgumentException("Ack!", new NullPointerException("an unexpected cause"));277 }278 }279 280 public static class UseNoCustomMessage {281 @Rule282 public ExpectedException thrown= ExpectedException.none();283 @Test284 public void noThrow() {285 thrown.expect(IllegalArgumentException.class);286 }287 }288 public static class UseCustomMessageWithPlaceHolder {289 @Rule290 public ExpectedException thrown = ExpectedException.none();291 @Test292 public void noThrow() {293 thrown.expect(IllegalArgumentException.class);294 thrown.reportMissingExceptionWithMessage(ARBITRARY_MESSAGE295 + " - %s");296 }297 }298 public static class UseCustomMessageWithoutPlaceHolder {299 @Rule300 public ExpectedException thrown= ExpectedException.none();301 @Test302 public void noThrow() {303 thrown.expect(IllegalArgumentException.class);304 thrown.reportMissingExceptionWithMessage(ARBITRARY_MESSAGE);305 }306 }307}...
Source:ExpectedException.java
...30 *31 * @author Christian Ihle32 */33public class ExpectedException implements TestRule {34 private final org.junit.rules.ExpectedException expectedException = org.junit.rules.ExpectedException.none();35 public static ExpectedException none() {36 return new ExpectedException();37 }38 @Override39 public Statement apply(final Statement base, final Description description) {40 return expectedException.apply(base, description);41 }42 /**43 * Which exception to expect.44 */45 public void expect(final Class<? extends Throwable> expectedExceptionClass) {46 expectedException.expect(expectedExceptionClass);47 }48 /**49 * The exact exception message to expect....
Source:AbstractFtpTestHarness.java
...4 * license, a copy of which has been included with this distribution in the5 * LICENSE.txt file.6 */7package org.mule.extension;8import static org.junit.rules.ExpectedException.none;9import org.mule.tck.junit4.rule.SystemProperty;10import org.junit.rules.ExpectedException;11import org.junit.rules.ExternalResource;12import org.junit.rules.TestRule;13import org.junit.runner.Description;14import org.junit.runners.model.Statement;15/**16 * Base class for {@link FtpTestHarness} implementations17 *18 * @since 4.019 */20public abstract class AbstractFtpTestHarness extends ExternalResource implements FtpTestHarness {21 private SystemProperty profileSystemProperty;22 private ExpectedException expectedException = none();23 /**24 * Creates a new instance25 *26 * @param profile the name of a spring profile to activate27 */28 public AbstractFtpTestHarness(String profile) {29 profileSystemProperty = new SystemProperty("spring.profiles.active", profile);30 }31 @Override32 public final Statement apply(Statement base, Description description) {33 base = applyAll(base, description, profileSystemProperty, expectedException);34 base = applyAll(base, description, getChildRules());35 return super.apply(base, description);36 }37 /**38 * @return {@link TestRule testRules} declared on the implementations which should also be applied39 */40 protected abstract TestRule[] getChildRules();41 @Override42 protected final void before() throws Throwable {43 doBefore();44 }45 /**46 * Template method for performing setup actions47 */48 protected void doBefore() throws Throwable {49 }50 /**51 * Delegates into {@link #doAfter()} and resets the {@link #expectedException}52 */53 @Override54 protected final void after() {55 try {56 doAfter();57 } catch (Exception e) {58 throw new RuntimeException(e);59 } finally {60 expectedException = ExpectedException.none();61 }62 }63 /**64 * Template method for performing cleanup actions65 */66 protected void doAfter() throws Exception {67 }68 /**69 * {@inheritDoc}70 */71 @Override72 public ExpectedException expectedException() {73 return expectedException;74 }...
Source:RulesTest.java
...16public class RulesTest {17 @Rule18 public TemporaryFolder folder = new TemporaryFolder();19 @Rule20 public ExpectedException exception = ExpectedException.none();21 @Rule22 public ErrorCollector errors = new ErrorCollector();23 @Rule24 public TestName testName = new TestName();25 @Rule26 public TestWatcher testWatcher = new TestWatcher() {27 };28 @Rule29 public Timeout timeout = new Timeout(0);30 @Test31 @Parameters("")32 public void shouldHandleRulesProperly(String n) {33 assertThat(testName.getMethodName()).isEqualTo("shouldHandleRulesProperly");34 }...
Source:JUnit4BuiltInTestRulesTest.java
23import static org.hamcrest.Matchers.is;4import static org.hamcrest.Matchers.isA;5import static org.junit.Assert.assertThat;6import static org.junit.rules.ExpectedException.none;78import java.io.File;9import java.io.IOException;1011import org.junit.Rule;12import org.junit.Test;13import org.junit.rules.ExpectedException;14import org.junit.rules.TemporaryFolder;1516public class JUnit4BuiltInTestRulesTest {17 /*18 * you can use this template to create expected exceptions rules fast:19 * ${staticImp:importStatic(org.junit.rules.ExpectedException.none)}20 * ${imp:import(org.junit.Rule,org.junit.rules.ExpectedException)}@Rule21 * public ExpectedException exception = none();22 */2324 @Rule25 public ExpectedException exception = none();2627 @Rule28 public TemporaryFolder folder = new TemporaryFolder(); // can be called with29 // parent folder3031 @Test32 public void comparingToExpectedInTestAnnotationWeCanValidateCauseAndMessageToo() throws Exception {33 exception.expect(RuntimeException.class);34 exception.expectCause(isA(IOException.class));35 exception.expectMessage("substring");3637 throw new IllegalArgumentException("Message containing substring", new IOException("the cause"));38 }39
...
Source:Rules.java
...15public class Rules {16 @Rule17 public TemporaryFolder folder = new TemporaryFolder();18 @Rule19 public ExpectedException exception = ExpectedException.none();20 @Rule21 public ErrorCollector errors = new ErrorCollector();22 @Rule23 public TestName testName = new TestName();24 @Rule25 public TestWatcher testWatcher = new TestWatcher() {};26 @Rule27 public Timeout timeout = new Timeout(28 0);29 @Test30 @Parameters("test")31 public void shouldHandleRulesWork(String n) {32 assertThat(testName.getMethodName()).isEqualTo("shouldHandleRulesWork");33 }...
none
Using AI Code Generation
1 public ExpectedException thrown = ExpectedException.none();2 public void throwsNothing() {3 }4 public void shouldTestExceptionMessage() throws IndexOutOfBoundsException {5 List<Object> list = new ArrayList<Object>();6 thrown.expect(IndexOutOfBoundsException.class);7 thrown.expectMessage("Index: 0, Size: 0");8 }9 public void shouldTestExceptionMessageWithMatcher() throws IndexOutOfBoundsException {10 List<Object> list = new ArrayList<Object>();11 thrown.expect(IndexOutOfBoundsException.class);12 thrown.expectMessage(startsWith("Index:"));13 }14 public void shouldTestRootCause() throws IOException {15 InputStream streamMock = mock(InputStream.class);16 IOException expectedEx = new IOException("BAM!");17 when(streamMock.read()).thenThrow(expectedEx);18 try {19 streamMock.read();20 fail("Expected an IOException to be thrown");21 } catch (IOException actualEx) {22 assertSame(expectedEx, actualEx.getCause());23 }24 }25 public void shouldTestExceptionType() {26 thrown.expect(IllegalArgumentException.class);27 throw new IllegalArgumentException("message");28 }29 public void shouldTestExceptionTypeWithMatchers() {30 thrown.expect(IllegalArgumentException.class);31 thrown.expectMessage(containsString("Illegal"));32 throw new IllegalArgumentException("Illegal argument");33 }34 public void shouldTestNoExceptionThrown() {35 thrown.expect(IllegalArgumentException.class);36 }37 public void shouldTestNoExceptionThrown2() {38 thrown.expect(IllegalArgumentException.class);39 thrown.expectMessage(containsString("Illegal"));40 }41 public void shouldTestMultipleExceptionTypes() {42 thrown.expect(any(IllegalArgumentException.class));43 throw new IllegalArgumentException("message");44 }45 public void shouldTestMultipleExceptionTypesWithMatchers() {46 thrown.expect(any(IllegalArgumentException.class));47 thrown.expectMessage(containsString("Illegal"));48 throw new IllegalArgumentException("Illegal argument");49 }50 public void shouldTestMultipleExceptionTypesWithMatchers2() {51 thrown.expect(any(IllegalArgumentException.class));52 thrown.expectMessage(
none
Using AI Code Generation
1public class ExpectedExceptionTest {2 public ExpectedException thrown = ExpectedException.none();3 public void throwsNothing() {4 }5 public void shouldTestExceptionMessage() {6 thrown.expect(IllegalArgumentException.class);7 thrown.expectMessage("a message");8 throw new IllegalArgumentException("a message");9 }10 public void shouldTestExceptionMessageMatcher() {11 thrown.expect(IllegalArgumentException.class);12 thrown.expectMessage(CoreMatchers.startsWith("a"));13 throw new IllegalArgumentException("a message");14 }15}16public class ExpectedExceptionTest {17 public ExpectedException thrown = ExpectedException.none();18 public void throwsNothing() {19 }20 public void shouldTestExceptionMessage() {21 thrown.expect(IllegalArgumentException.class);22 thrown.expectMessage("a message");23 throw new IllegalArgumentException("a message");24 }25 public void shouldTestExceptionMessageMatcher() {26 thrown.expect(IllegalArgumentException.class);27 thrown.expectMessage(CoreMatchers.startsWith("a"));28 throw new IllegalArgumentException("a message");29 }30}31public class ExpectedExceptionTest {32 public ExpectedException thrown = ExpectedException.none();33 public void throwsNothing() {34 }35 public void shouldTestExceptionMessage() {36 thrown.expect(IllegalArgumentException.class);37 thrown.expectMessage("a message");38 throw new IllegalArgumentException("a message");39 }40 public void shouldTestExceptionMessageMatcher() {41 thrown.expect(IllegalArgumentException.class);42 thrown.expectMessage(CoreMatchers.startsWith("a"));43 throw new IllegalArgumentException("a message");44 }45}46public class ExpectedExceptionTest {47 public ExpectedException thrown = ExpectedException.none();48 public void throwsNothing() {49 }50 public void shouldTestExceptionMessage() {51 thrown.expect(IllegalArgumentException.class);
none
Using AI Code Generation
1import org.junit.Rule;2import org.junit.Test;3import org.junit.rules.ExpectedException;4import java.io.IOException;5public class ExpectedExceptionExample {6 public ExpectedException thrown = ExpectedException.none();7 public void throwsNothing() {8 }9 public void throwsExceptionWithSpecificType() {10 thrown.expect(IOException.class);11 throw new IOException();12 }13 public void throwsExceptionWithMessage() {14 thrown.expect(IOException.class);15 thrown.expectMessage("boom!");16 throw new IOException("boom!");17 }18}19import org.junit.Rule;20import org.junit.Test;21import org.junit.rules.ExpectedException;22import java.io.IOException;23public class ExpectedExceptionExample {24 public ExpectedException thrown = ExpectedException.none();25 public void throwsNothing() {26 }27 public void throwsExceptionWithSpecificType() {28 thrown.expect(IOException.class);29 throw new IOException();30 }31 public void throwsExceptionWithMessage() {32 thrown.expect(IOException.class);33 thrown.expectMessage("boom!");34 throw new IOException("boom!");35 }36}37import org.junit.Rule;38import org.junit.Test;39import org.junit.rules.ExpectedException;40import java.io.IOException;41public class ExpectedExceptionExample {42 public ExpectedException thrown = ExpectedException.none();43 public void throwsNothing() {44 }45 public void throwsExceptionWithSpecificType() {46 thrown.expect(IOException.class);47 throw new IOException();48 }49 public void throwsExceptionWithMessage() {50 thrown.expect(IOException.class);51 thrown.expectMessage("boom!");52 throw new IOException("boom!");53 }54}55import org.junit.Rule;56import org.junit.Test;57import org.junit.rules.ExpectedException;58import java.io.IOException;59public class ExpectedExceptionExample {60 public ExpectedException thrown = ExpectedException.none();61 public void throwsNothing() {62 }63 public void throwsExceptionWithSpecificType() {64 thrown.expect(IOException.class);65 throw new IOException();66 }67 public void throwsExceptionWithMessage() {68 thrown.expect(IOException.class);69 thrown.expectMessage("boom!");70 throw new IOException("boom!");71 }72}73import org
none
Using AI Code Generation
1public void testExceptionMessage() {2 exception.expect(IllegalArgumentException.class);3 exception.expectMessage("a message");4 exception.expectMessage(containsString("a mess"));5 exception.expectMessage(startsWith("a"));6 exception.expectMessage(endsWith("message"));7 exception.expectMessage(matchesPattern("a.*ge"));8 exception.expectMessage(not(containsString("a mess")));9 exception.expectMessage(not(startsWith("a")));10 exception.expectMessage(not(endsWith("message")));11 exception.expectMessage(not(matchesPattern("a.*ge")));12 exception.expectMessage(not(equalTo("a message")));13 exception.expectMessage(not(equalTo(null)));14 exception.expectMessage(not(nullValue()));15 exception.expectMessage(not(nullValue(String.class)));16 exception.expectMessage(not(instanceOf(String.class)));17 exception.expectMessage(not(any(String.class)));18 exception.expectMessage(not(anything()));19 exception.expectMessage(not(is("a message")));20 exception.expectMessage(not(is(null)));21 exception.expectMessage(not(isA(String.class)));22 exception.expectMessage(not(hasToString("a message")));23 exception.expectMessage(not(hasToString(containsString("a mess"))));24 exception.expectMessage(not(hasToString(startsWith("a"))));25 exception.expectMessage(not(hasToString(endsWith("message"))));26 exception.expectMessage(not(hasToString(matchesPattern("a.*ge"))));27 exception.expectMessage(not(hasToString(nullValue())));28 exception.expectMessage(not(hasToString(nullValue(String.class))));29 exception.expectMessage(not(hasToString(instanceOf(String.class))));30 exception.expectMessage(not(hasToString(any(String.class))));31 exception.expectMessage(not(hasToString(anything())));32 exception.expectMessage(not(hasToString(is("a message"))));33 exception.expectMessage(not(hasToString(is(null))));34 exception.expectMessage(not(hasToString(isA(String.class))));35 exception.expectMessage(not(hasToString(equalTo("a message"))));36 exception.expectMessage(not(hasToString(equalTo(null))));37 exception.expectMessage(not(hasItem("a message")));38 exception.expectMessage(not(hasItem(null)));39 exception.expectMessage(not(hasItems("a message")));40 exception.expectMessage(not(hasItems(null)));41 exception.expectMessage(not(hasItemInArray("a message")));42 exception.expectMessage(not(hasItemInArray(null)));43 exception.expectMessage(not(hasItemsInArray("a message")));44 exception.expectMessage(not(hasItemsInArray(null)));45 exception.expectMessage(not(hasProperty("a message")));
none
Using AI Code Generation
1*none()* returns a new *ExpectedException* instance that does not expect any exception. This can be used to disable an existing *ExpectedException* rule. For example:2public ExpectedException thrown = ExpectedException.none();3public void throwsNothing() {4}5public void throwsNullPointerException() {6 thrown.expect(NullPointerException.class);7 throw new NullPointerException();8}9public void throwsNothing() {10 thrown = ExpectedException.none();11}12public void throwsNullPointerException() {13 thrown = ExpectedException.none();14 thrown.expect(NullPointerException.class);15 throw new NullPointerException();16}17*expect(Class<? extends Throwable> type)* expects an exception of the specified type. For example:18public ExpectedException thrown = ExpectedException.none();19public void throwsNullPointerException() {20 thrown.expect(NullPointerException.class);21 throw new NullPointerException();22}23*expectMessage(String message)* expects an exception with the specified message. For example:24public ExpectedException thrown = ExpectedException.none();25public void throwsNullPointerExceptionWithMessage() {26 thrown.expect(NullPointerException.class);27 thrown.expectMessage("happened");28 throw new NullPointerException("happened");29}30*expectMessage(Matcher<? super String> matcher)* expects an exception with a message that satisfies the specified matcher. For example:31public ExpectedException thrown = ExpectedException.none();32public void throwsNullPointerExceptionWithMessage() {33 thrown.expect(NullPointerException.class);34 thrown.expectMessage(containsString("happened"));35 throw new NullPointerException("what happened?");36}37*expectCause(Matcher<? super Throwable> matcher)* expects an exception with a cause that satisfies the specified matcher. For example:38public ExpectedException thrown = ExpectedException.none();
LambdaTest also has a detailed JUnit tutorial explaining its features, importance, advanced use cases, best practices, and more to help you get started with running your automation testing scripts.
Here are the detailed JUnit testing chapters to help you get started:
You can also check out our JUnit certification if you wish to take your career in Selenium automation testing with JUnit to the next level.
Get 100 minutes of automation test minutes FREE!!