Kann mir jemand mit einem Test für die Funktion in der Steuerung helfen. Kann nicht testen, ob eine Anweisung im Controller vorhanden ist. Konzentrieren Sie sich also auf diesen Code. Andere Tests für diesen Controller sind gut, aber nur Code von "if-Anweisung" kann nicht getestet werden.Laravel Test If/Else-Anweisung - Unit-Test
LanguageController.php
class LanguageController extends Controller implements IEntityViewManager
{
protected $languageRepo;
public function __construct(LanguageRepositoryInterface $languageRepo)
{
$this->languageRepo = $languageRepo;
}
public function createAction(LanguagePostRequest $request)
{
$languages = $this->languageRepo->whereCharOrName($request->char, $request->name);
if(count($languages) > 0)
{
return redirect()->back()->withErrors("Already exists")->withInput();
}
$language = new Language();
$this->languageRepo->store($language, $request->all());
return redirect()->route('Admin.Language.showAllView');
}
}
Hier ist mein Test-reqirements für diesen Test:
LanguageControllerTest.php
class LanguageControllerTest extends TestCase
{
public function __construct($name = NULL, array $data = array(), $dataName = '')
{
parent::__construct($name, $data, $dataName);
}
public function setUp()
{
parent::setUp();
}
public function tearDown()
{
Mockery::close();
}
protected function setUpMock()
{
$mock = Mockery::mock(LanguageRepositoryInterface::class);
$this->app->instance(LanguageRepositoryInterface::class, $mock);
return $mock;
}
public function testInvalidInsertLanguage1()
{
$params = array(
'char' => 'en',
'name' => 'English'
);
$mock = $this->setUpMock();
// HELP ME TO TEST IF STATEMENT AND TO REDIRECT BACK WITH ERRORS AND INPUTS
// NEED CONTENT
$this->action('POST', 'Entities\[email protected]', null, $params);
}
Oder vielleicht sollte ich if-Anweisung vermeiden und setzen es in einer anderen Funktion innerhalb der Steuerung, aber es ist zu kompliziert zu testen, weil ich diesen Controller verspotten sollte?
Ich habe gerade Ihre Lösung versucht und es funktioniert (nur mit Code 302). Danke, Mann ! – Dulo
Okay. Froh, dass es funktioniert! –