> You don't always need a request depending on what you're testing...

Ok.

> ... so empty string would be ok

I'm not sure about it. If you do not want a default request instance, I'd prefer `None` instead of empty string.
That said, both None and empty string would trigger exceptions if an user uses `view = CBV().as_instance()` without passing a request, then he calls something that tries to use the request such as `view.request.GET`.

May someone else tell his opinion?