Reputation: 121
I want to test my views using data from postgres localhost database (with already loaded data). I'm using tox with pytest and pytest-django.
My question: How to set up / connect to local database to get all the data model schema and data itself? Or maybe it is better to use factory_boy? Or to load whole data from .sql script (if yes, how)?
Example of my test:
def test_foo_view(custom_client_login):
response = custom_client_login.get('/foo/bar/123/')
assert response.status_code == 200
assert 'Transaction no. 123' in response.content
But instead of getting status code 200 I get 404, which points that no data is in test database. But when I lunch runserver
and go to that view ('localhost:8000/foo/bar/123/')
I will get status 200 and html webpage with some data.
Please help!
I'm using:
Upvotes: 6
Views: 2392
Reputation: 121
Just found a way! It was simpler then I thought! Without writing any custom TestRunners etc.
The answer is in pytest-django docs in Chapter 5 -> Examples -> Use a read only database.
Check out other examples, which are really handy in such situations.
Thanks!
Upvotes: 5