From bdfc021d391beb13d7e6c58be2302b360dc255b8 Mon Sep 17 00:00:00 2001 From: Edward Speyer Date: Thu, 8 Mar 2012 14:54:49 -0800 Subject: [PATCH] [ArcanistPhutilTestCase] add ->assertException() to the base test case Summary: Simpler assert function for asserting a type of exception was raised. Test Plan: Wrote this for (and tested it with) D1836. Reviewers: epriestley Reviewed By: epriestley CC: aran, epriestley Differential Revision: https://secure.phabricator.com/D1837 --- .../testcase/ArcanistPhutilTestCase.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/unit/engine/phutil/testcase/ArcanistPhutilTestCase.php b/src/unit/engine/phutil/testcase/ArcanistPhutilTestCase.php index a5b4f5dd..2895d5c6 100644 --- a/src/unit/engine/phutil/testcase/ArcanistPhutilTestCase.php +++ b/src/unit/engine/phutil/testcase/ArcanistPhutilTestCase.php @@ -113,6 +113,25 @@ abstract class ArcanistPhutilTestCase { /* -( Exception Handling )------------------------------------------------- */ + /** + * This simplest way to assert exceptions are thrown. + * + * @param exception The expected exception. + * @param callable The thing which throws the exception. + * + * @return void + * @task exceptions + */ + final protected function assertException($expected_exception_class, + $callable) { + $this->tryTestCases( + array('assertException' => array()), + array(false), + $callable, + $expected_exception_class + ); + } + /** * Straightforward method for writing unit tests which check if some block of * code throws an exception. For example, this allows you to test the