Actually, I am quite happy about how the code is tested. I will let to you the decision of using django client versus calling the view functions directly. The difference is only in testing also the routes in ```urls.py``` and the integration with the django middlewares. As we are not using afaik any custom django middleware, and our url patterns are really simple, I think that the benefit of using the django client here might not be worth the effort.

In my comment above, I was more interested into knowing if there is some problem in using the standard django test machinery with our geonode installation.

However, you could replace code like:

```
response = views.export_exposure(request)
```

with 

```
response = client.get('/oq-platform2/exposure/wizard1/')
```

and you will get the same behavior, apart from the error handling as exceptions are catched by a django middleware and you have to check for the proper status code. Mind the fact that you can use django.test.client also with a standard TestCase class (the django-derived TestCase just setup an instance of django.test.client in his setupClass).