Raise a helpful exception when trying to refresh credentials without a refresh token (#262)

diff --git a/tests/oauth2/test_credentials.py b/tests/oauth2/test_credentials.py
index 9064363..922c3bb 100644
--- a/tests/oauth2/test_credentials.py
+++ b/tests/oauth2/test_credentials.py
@@ -17,8 +17,10 @@
 import os
 
 import mock
+import pytest
 
 from google.auth import _helpers
+from google.auth import exceptions
 from google.auth import transport
 from google.oauth2 import credentials
 
@@ -95,6 +97,16 @@
         # expired)
         assert credentials.valid
 
+    def test_refresh_no_refresh_token(self):
+        request = mock.create_autospec(transport.Request)
+        credentials_ = credentials.Credentials(
+            token=None, refresh_token=None)
+
+        with pytest.raises(exceptions.RefreshError, match='necessary fields'):
+            credentials_.refresh(request)
+
+        request.assert_not_called()
+
     def test_from_authorized_user_info(self):
         info = AUTH_USER_INFO.copy()