nothingworksinc / ticketbeast

Back to the lesson videos:
https://course.testdrivenlaravel.com/lessons
552 stars 11 forks source link

Laravel 5.4 testing very different from 5.3 #66

Closed piercemcgeough closed 7 years ago

piercemcgeough commented 7 years ago

I recently restarted the course but using Laravel 5.4 and looking to see how to get the missing controller and controller method errors without the browser-kit-testing package.

Why is: $response = $this->get('/concerts/'.$concert->id); so different from $this->visit('/concerts/'.$concert->id);

If I don't assert 200 it doesn't tell me anything and goes straight to "SOME TEST" isn't found. Asserting 200 gives the following with no further details "Expected status code 200 but received 500."

I can see NotFoundHttpException and ReflectionException - Class App\Http\Controllers\ConcertsController does not exist and View [concerts.show] not found. in the browser alright but nothing in the tests.

Steps To Reproduce:

Restart course with Laravel 5.4

svenluijten commented 7 years ago

Hey @piercemcgeough,

This has already been discussed in another issue: #27. As suggested over there, you can follow along in 5.3, and a couple lessons in you'll work on upgrading to 5.4 and moving forward with that. 🙂

piercemcgeough commented 7 years ago

I wasn't looking to just use 5.3

This is what I was looking for https://adamwathan.me/2016/01/21/disabling-exception-handling-in-acceptance-tests/ and then the following is the updated code to work. https://gist.github.com/adamwathan/125847c7e3f16b88fa33a9f8b42333da