私は、Laravel 5.1.40(LTS)、php 5.6.28、およびphpunit 4.8.27のプロジェクトでphpunitテストを設定しようとしています。以前にこの問題が解決されてしまったのは残念ですが、何も見つかりませんでした。LaravelテストphpunitプレスNotFoundHttpException
public function testAdminLogin()
{
$this->visit('/auth/login')
->type('[email protected]', 'email')
->type('1234567890', 'password')
->press('Login');
}
ボタンを提出するよう<button>
と<input>
の両方でpress('STRING')
に問題があるように思われます。以下は私が受け取るエラーメッセージです。
1) ExampleTest::testAdminLogin
A request to [http://localhost/auth/login] failed. Received status code [500].
C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Testing\InteractsWithPages.php:165
C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Testing\InteractsWithPages.php:63
C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Testing\InteractsWithPages.php:85
C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Testing\InteractsWithPages.php:684
C:\xampp\htdocs\project\vendor\laravel\framework\src\Illuminate\Foundation\Testing\InteractsWithPages.php:671
C:\xampp\htdocs\project\tests\ExampleTest.php:52
C:\xampp\php\pear\PHPUnit\TextUI\Command.php:176
C:\xampp\php\pear\PHPUnit\TextUI\Command.php:129
Iは、<a>
タグに<button>
タグを変更し、それにIDを追加し、click(ID)
機能をpress(STRING)
機能を置き換える場合しかし、テストが通過します。 <button>
を<a>
に変更できますが、これは一時的な修正に過ぎず、今後のケースではタグの変更が許可されない可能性があります。
以下は<button>
タグのHTMLフォームです。
<form action="/auth/login" method="POST" class="form-horizontal">
<div class="form-group">
<label for="email" class="col-sm-4 control-label">E-Mail</label>
<div class="col-sm-6">
<input type="email" name="email" class="form-control" value="{{ old('email') }}" autocomplete="off">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-4 control-label">Password</label>
<div class="col-sm-6">
<input type="password" name="password" class="form-control" autocomplete="off">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-6">
<button type="submit" class="btn btn-default btn-login">Login</button>
</div>
</div>
</form>
あなたは 'Auth :: routes()'を使用していますか、ログイン/登録経路を手動で定義していますか? –
私はlaravelの5.1バージョンを使用しています。手動で定義されています。 –